0
点赞
收藏
分享

微信扫一扫

正值Archimate®建模语言15周年:回顾从艰难起步,到全球通用的初心与发展

柠檬果然酸 2024-07-24 阅读 28

面试题 消失的数字 C写法

image-20240707124758779

思路:0到n仅缺失一个整数,而异或则是相同为0相异为1。由此思路我们创建一个变量i,将0到n所有数异或给i,仅有缺失的数字没有异或给i。然后再写一个循环将完整的数组异或给i,那么所有存在的数异或结果为0,缺失的数字与0异或等于本身,则求出缺失数。

代码

int missingNumber(int* nums, int numsSize){
    int i = 0;
    for(int j = 0; j < numsSize; j++)
    {
        i ^= nums[j];
    }
    for(int j = 0; j <= numsSize; j++) //因为缺失一个数,所以这里要等于numsSize才是完整的数组
    {
        i ^= j;
    }
    return i;
}

复杂度
image-20240707130753298

举报

相关推荐

0 条评论