数据结构初阶-复杂度

news2024/12/30 4:02:09

复杂度

  • 🎈1.例题一
  • 🎈2.例题二

🎈1.例题一

数组nums包含从0到n的所有整数,但其中缺了一个,请编写代码找出那个缺失的整数。
✅思路1:先冒泡排序,再遍历,当前值+1,不等于下一个数字。那么,当前值+1得到的数字即为缺失的整数。
✅思路2:用0与该数组中的每个数以及0~n这几个数进行异或运算,得到的结果即为缺失的数。
✅思路3:0~n等差数列公式计算和,依次减掉数组中的数据,剩下的就是消失的数字。

//思路二:
int missingNumber(int* nums, int numSize)
{
	int x = 0;
	for (int i = 0; i < numSize; ++i)
	{
		x ^= nums[i];
	}
	for (int i = 0; i <= numSize; ++i)
	{
		x ^= i;
	}
	return x;
}

//思路三:
int missingNumber(int* nums, int numSize)
{
	int N = numSize;
	int sum = ((0 + N) * (N + 1)) / 2;
	for(int i = 0; i < numSize; ++i)
	{
		sum -= nums[i];
	}
	return sum;
}

🎈2.例题二

给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。
✅思路:在这里插入图片描述

void reverse(int* a, int left, int right)
{
	while (left < right)
	{
		int temp = a[left];
		a[left] = a[right];
		a[right] = temp;
		++left;
		--right;
	}
}

void rotate(int* nums, int numsSize, int k)
{
	k %= numsSize;
	reverse(nums, 0, numsSize - k - 1);
	reverse(nums, numsSize - k, numsSize - 1);
	reverse(nums, 0, numsSize - 1);
}

好啦,关于数据结构的复杂度到这里就先结束啦,后期会继续更新学习数据结构初阶的相关知识,欢迎大家持续关注、点赞和评论!❤️❤️❤️

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1969594.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Tomato靶机攻略

1、启动靶机 2、通过nmap -sA 192.168.168.0/24得到靶机IP 3、扫描目录 用dirb http://192.168.49.128扫描敏感目录 4、访问敏感目录 5、通过查看源码&#xff0c;发现其存在文件包含漏洞&#xff0c;利用该漏洞查看日志文件 http://192.168.168.131/antibot_image/antibots/…

腾讯云SDK发送短信

腾讯云接口发送短信 &#xff08;1&#xff09;创建签名 &#xff08;2&#xff09;创建模板 可以自定义模板参数例如&#xff1a;你好{1}&#xff0c;这是一个短信 &#xff08;3&#xff09;确认套餐包 发送的额度 &#xff08;4&#xff09;创建应用 查看应用设置&#…

基于深度学习的植物疾病检测识别系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 农作物病害不仅影响产量&#xff0c;还会导致严重的经济损失。传统的病害检测方法通常依赖人工专家进行目视检查&#xff0c;这种方法费时费力且容易受到主观因素的影响。近年来&#xff0c;深度学…

【Unity】3D功能开发入门系列(一)

Unity3D功能开发入门系列&#xff08;一&#xff09; 一、开发环境&#xff08;一&#xff09;安装 Unity&#xff08;二&#xff09;创建项目&#xff08;三&#xff09;Unity 窗口布局 二、场景与视图&#xff08;一&#xff09;场景&#xff08;二&#xff09;游戏物体&…

R语言统计分析——箱线图

参考资料&#xff1a;R语言实战【第2版】 箱线图&#xff08;又称盒须图&#xff09;通过绘制连续型变量的五数总括&#xff0c;即最小值、下四分位数&#xff08;第25百分位数&#xff09;、中位数&#xff08;第50百分位数&#xff09;、上四分位数&#xff08;第75百分位数&…

Linux真实机器安装

引言 装机电脑&#xff1a;具有网卡硬件、磁盘空间 > 64G、内存空间 > 4G&#xff1b; 装机工具&#xff1a;rufus&#xff0c;u盘&#xff08;8G&#xff09;&#xff1b; 装机系统&#xff1a;centos7.iso&#xff1b; 联网工具&#xff1a;路由器&#xff0c;网线 1.…

大学新生如何高效入门编程?全面指南来助力

引言 在当今数字化时代&#xff0c;编程已经成为一项必备技能。无论你未来从事什么职业&#xff0c;编程能力都能为你的职业生涯增添光彩。对于即将步入大学的新生来说&#xff0c;如何高效入门编程是一道关键课题。本文将从如何选择编程语言、制定学习计划、找到顶尖学习资源…

汇昌联信科技拼多多运营如何?

汇昌联信科技拼多多运营如何?在电商行业&#xff0c;拼多多的崛起无疑为许多企业带来了新的机遇。作为一家专注于电子商务解决方案的公司&#xff0c;汇昌联信科技在拼多多的运营方面展现出了不俗的实力。他们不仅成功帮助多个品牌入驻拼多多平台&#xff0c;还通过精细化运营…

缺口将达到1000万?人工智能(AI)专业就业前景分析

从年初以来&#xff0c;人工智能一直占据着热话题榜首。随着人工智能技术的不断发展和应用&#xff0c;人工智能&#xff08;AI&#xff09;专业已经成为了近年来大学校园里最热门的专业之一&#xff0c;成为连续四年新增最多专业。 今天给大家介绍一下&#xff0c;为感兴趣的…

申瓯通信在线录音管理系统Thinkphp远程代码执行漏洞

目录 1.产品简介 2.漏洞概述 3.搜索语法 4.漏洞复现 1.产品简介 申瓯通信在线录音管理系统是一款功能强大的录音管理解决方案&#xff0c;旨在满足公司、集团单位在区域分布下对录音数据的集中管理需求。该系统基于SOC1900、S0C1600等系列录音盒开发&#xff0c;是一个多线…

VMWare虚拟机共享主机的网络访问外网

1.主机中启动客户端并连接外网 2.设置虚拟网络类型为NAT 3.启动虚拟并通过主机访问外网

从“人巡”到“智控”:EasyCVR智能视频监控技术变革河道违建监测模式

一、背景分析 随着城市化进程的加快&#xff0c;河道作为城市生态系统的重要组成部分&#xff0c;其保护与管理日益受到重视。然而&#xff0c;非法侵占河道、违规建设等行为时有发生&#xff0c;不仅破坏了河道的自然生态&#xff0c;还严重威胁到防洪安全和水质安全。为了有…

Google发布三款开放式人工智能模型 重点关注安全问题

Google发布了三款新的、“开放的"人工智能生成模型&#xff0c;并称这些模型比大多数模型"更安全”、“更小巧”、“更透明”。它们是Google Gemma 2生成模型系列的新成员&#xff0c;该系列于今年 5 月首次亮相。这些新模型包括 Gemma 2 2B、ShieldGemma 和 Gemma S…

Xpath元素定位

Xpath元素定位 xpath初识元素失效的场景元素失效的原因语法书写如何进行校验 xpath实战元素定位分析流程书写&#xff08;一&#xff09;流程书写&#xff08;二&#xff09; xpath初识 元素失效的场景 元素失效的原因 元素缺少class和index的定位其中class和id的属性会改变元…

计算机网络-IGMP Snooping特性

一、以太网的组播转发问题 当组播数据从最后一跳路由器发往组播组成员时&#xff0c;往往会经过交换机。由于组播数据的目的MAC地址是组播MAC地址&#xff0c;默认情况下交换机将泛洪此类数据帧&#xff0c;有可能导致不同组的组播流量会被别组的成员接收。 当Router将组播报文…

mysql更改密码后,若依 后端启动不了解决方案

我原先的mysql 密码是 数字字符串 我想改成000 纯数字 改完之后&#xff0c;连接的数据库的代码 也更改后 &#xff0c;后端启动不了 因为原先 密码数字字符串 不需要用引号" " 括起来 我改成纯数字 需要用 " " 括起来 如下图 然后就可以运行成功了

KineFX —— Skeleton

一&#xff0c;KineFX skeletons介绍 在KineFX内&#xff0c;每件事都是SOP point&#xff0c;点的世界变换&#xff08;translation, rotation, scale&#xff09;由positionmatrix3*3定义&#xff1b; 当一个点具有transform和name属性&#xff0c;点就是一个joint&#xff…

RabbitMQ发送者重连、发送者确认

RabbitMQ发送者重连、发送者确认 一、发送者重连 spring:rabbitmq:connection-timeout: 1s #设置MQ的连接超时时间template:retry:enabled: true #开启超时重试机制initial-interval: 1000ms #失败后的初始等待时间multiplier: 1 #失败后下次的等待时长倍数&#xff0c;下次等…

Axure中文版资源免费下载!

Axure是一种专业的原型设计工具&#xff0c;可以帮助用户以最快的速度将产品想法转化为可视化原型&#xff0c;为设计师、产品经理和开发人员之间的沟通搭建桥梁。Axure功能强大&#xff0c;可绘制高保真原型、建立动态面板、使用复杂函数库、多人合作设计、标准化导出等功能&a…