初刷leetcode题目(2)——数据结构与算法

在这里插入图片描述

‍️‍️‍️‍️Take your time ! ‍️‍️‍️‍️
个人主页:大魔王
所属专栏:魔王的修炼之路–数据结构
如果你觉得这篇文章对你有帮助,请在文章结尾处留下你的点赞关注,支持一下博主。同时记得收藏✨这篇文章,方便以后重新阅读。

二、面试题 17.04. 消失的数字

面试题 17.04. 消失的数字

初刷leetcode题目(2)——数据结构与算法_第1张图片

思路

两种方法:
第一种:
是这个题最简单的方法:让数组里的n个数全部相加,再让从0到n+1个自然数相加减去数组相加的值.。
第二种:
让数组里的每个元素都按位异或一次,然后再和0~n+1个自然数按位异或一下,那么结果的数就是缺的那个数。
补充:
按位异或相同的数后结果为0。
按位异或就是二进制位相同为0,不同为1。

代码

第一种

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

第二种

int missingNumber(int* nums, int numsSize){
    int n = 0;
    for(int i =0;i<numsSize+1;i++)
    {
        n  ^= i;
    }
    for(int i = 0;i<numsSize;i++)
    {
        n = n ^ nums[i];
    }
    return n;
}
  • 博主长期更新,博主的目标是不断提升阅读体验和内容质量,如果你喜欢博主的文章,请点个赞或者关注博主支持一波,我会更加努力的为你呈现精彩的内容。

专栏推荐
魔王的修炼之路–C语言
魔王的修炼之路–数据结构初阶
魔王的修炼之路–C++
魔王的修炼之路–Linux
更新不易,希望得到友友的三连支持一波。收藏这篇文章,意味着你将永久拥有它,无论何时何地,都可以立即找到重新阅读;关注博主,意味着无论何时何地,博主将永久和你一起学习进步,为你带来有价值的内容。

你可能感兴趣的:(leetcode,算法,职场和发展,数据结构)