【leetcode】消失的数字

这篇具有很好参考价值的文章主要介绍了【leetcode】消失的数字。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,我是苏貝,本篇博客带大家刷题,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️
【leetcode】消失的数字,leetcode,leetcode,算法,职场和发展


点击查看题目

【leetcode】消失的数字,leetcode,leetcode,算法,职场和发展


1.暴力求解法

通过2个for循环,遍历查找0-n中缺少的数字,比较简单,不写,时间复杂度为O(N^2)


2.采用异或的方法(同单身狗问题)

点击去了解异或,位置在④.3
异或:两个整数的相同位置:相同为0,不同为1(二进制),易知a^ a=0,a^ 0=a;具有交换律,所以a^ b^ a=a^ a^ b=0^b=b。
在本题中,先使x=0(因为0^ 任何数=任何数本身),再让x与0-n(n是数组的元素个数)的所有数字异或,再让x与nums数组的全部元素异或;当数组为[3,0,1]时,x与0-3的全部数字异或,再与数组元素[3,0,1]异或,即
【leetcode】消失的数字,leetcode,leetcode,算法,职场和发展
这样就能得出消失的数字,执行次数为2n+1,时间复杂度为O(N),代码为:

int missingNumber(int* nums, int numsSize) {
	int x = 0;
	for (int i = 0; i <= numsSize; i++)
	{
		x ^= i;
	}
	for (int i = 0; i < numsSize; i++)
	{
		x ^= nums[i];
	}
	return x;
}

3.先求和再减去数组元素

先求出0-n(n是数组的元素个数)所有数字之和,再减去数组nums中的所有元素,得到的自然是消失的数字。如当数组为[3,2,0,1]时,求出0-4所有数的和=10,再-0-1-2-3=4,所以消失的数字是4。
时间复杂度为O(N),代码为:

int missingNumber(int* nums, int numsSize) {
	int sum = (numsSize+1) * (0 + numsSize) / 2;
	for (int i = 0; i < numsSize; i++)
	{
		sum -= nums[i];
	}
	return sum;
}

好了,那么本篇博客就到此结束了,如果你觉得本篇博客对你有些帮助,可以给个大大的赞👍吗,感谢看到这里,我们下篇博客见❤️文章来源地址https://www.toymoban.com/news/detail-813504.html

到了这里,关于【leetcode】消失的数字的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Leetcode:【448. 找到所有数组中消失的数字】题解

    题目 给你一个含  n  个整数的数组  nums  ,其中  nums[i]  在区间  [1, n]  内。请你找出所有在  [1, n]  范围内但没有出现在  nums  中的数字,并以数组的形式返回结果。 难度: 简单 题目链接:448. 找到所有数组中消失的数字 示例1 示例2 解题思路: 题目意思是再在有 n

    2024年02月11日
    浏览(40)
  • LeetCode:面试题:消失的数字——时间复杂度

    题目:数组nums中包含0~n的所有整数,但其中缺失了一个数,请写代码找出那个缺失的整数,要求在时间复杂度为O(N)的时间内完成 思路1:冒泡排序+遍历(下一个数不等于上一个数+1,这个下一个数就是消失的数) 世间复杂度O(logN*N) 代码: 运行结果: 思路2:0+N利用等

    2024年02月16日
    浏览(40)
  • 【LeetCode】替换空格&&消失的数字&&分割链表&&除自身以外数组的乘积

    ​🌠 作者:@阿亮joy. 🎆 专栏: 《阿亮爱刷题》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 请实现一个函数,把字符串 s 中的每个空格替换成\\\"%20\\\"。 示例 1: 输入: s = \\\"We are happy.\\\" 输出: \\\"We%20are%2

    2024年02月22日
    浏览(37)
  • (C语言版)力扣(LeetCode)面试题 17.04. 消失的数字5种解法

    该题目取自力扣(LeetCode)面试题 17.04. 消失的数字 链接:消失的数字 该题目主要考察时间复杂度的把握,题目如下: 数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗? 注意:本题相对书上原题稍作改动 示例

    2023年04月14日
    浏览(41)
  • 【算法萌新闯力扣】:找到所有数组中消失对数字

      这两天刚交了蓝桥杯的报名费,刷题的积极性高涨。算上打卡题,今天刷了10道算法题了,题目都比较简单,挑选了一道还不错的题目与大家分享。   把数组先排序,然后利用桶排来统计数组中存在的元素,对于数量为0的元素则存入list集合中,最后返回list集合   如果这

    2024年02月04日
    浏览(42)
  • [职场] 会计学专业学什么 #其他#知识分享#职场发展

    会计学专业学什么 会计学专业属于工商管理学科下的一个二级学科,本专业培养具备财务、管理、经济、法律等方面的知识和能力,具有分析和解决财务、金融问题的基本能力,能在企、事业单位及政府部门从事会计实务以及教学、科研方面工作的工商管理学科高级专门人才

    2024年02月20日
    浏览(49)
  • 学习平台助力职场发展与提升

    近年来,随着互联网技术的发展, 学习平台 逐渐成为了职场发展和提升的必备工具。学习平台通过提供丰富的课程内容、灵活的学习时间和个性化的学习路径,帮助职场人士更好地提升自己的技能和知识储备,为职场发展打下坚实的基础。 学习平台的优势在于提供了丰富多

    2024年02月11日
    浏览(51)
  • 如何手机搜学法减分答案? #媒体#职场发展

    今天分享拥有拍照搜题、文字搜题、语音搜题、多重搜题等搜题模式,可以快速查找问题解析,加深对题目答案的理解。 1.证件照全能管家(APP) 一个非常好用的证件照APP 常用的证件照尺寸和底色都有、日常的证件照编辑完全够用,支持一键智能拍摄证件照,还可以对照片

    2024年02月19日
    浏览(47)
  • 【职业人生】如何有效的在职场当中避免工作失误和提高个人发展

         《左传·宣公二年》:“人谁无过,过而能改,善莫大焉。”古往今来,多少人犯过错误。强大如“智绝”的诸葛孔明,也有街亭之失。职场人更是难免会在工作中出现失误。     在职场生涯当中避免不了在工作当中带来的失误,在这过程当中,我们应当要学会怎么去

    2024年02月08日
    浏览(44)
  • [office] excel成绩表格数据排名次的教程 #职场发展#知识分享#媒体

    excel成绩表格数据排名次的教程 Excel 中经常需要使用到 排名 次的技巧,成绩表格数据具体该如何排名呢?接下来是小编为大家带来的excel成绩表格数据排名次的教程,供大家参考。 步骤1:不管在学校还是各个统计领域,排名应用随处可见,如果排序会打乱原有次序,那么好多

    2024年02月21日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包