😶🌫️😶🌫️😶🌫️😶🌫️Take your time ! 😶🌫️😶🌫️😶🌫️😶🌫️
💥个人主页:🔥🔥🔥大魔王🔥🔥🔥
💥所属专栏:🔥魔王的修炼之路–数据结构🔥
如果你觉得这篇文章对你有帮助,请在文章结尾处留下你的点赞👍和关注💖,支持一下博主。同时记得收藏✨这篇文章,方便以后重新阅读。
二、面试题 17.04. 消失的数字
面试题 17.04. 消失的数字
思路
两种方法:
第一种:
是这个题最简单的方法:让数组里的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
更新不易,希望得到友友的三连支持一波。收藏这篇文章,意味着你将永久拥有它,无论何时何地,都可以立即找到重新阅读;关注博主,意味着无论何时何地,博主将永久和你一起学习进步,为你带来有价值的内容。