力扣 面试题17.04.消失的数字

数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?

示例 1:

输入:[3,0,1]

输出:2

示例 2:

输入:[9,6,4,2,3,5,7,0,1]

输出:8

解答思路:使用异或思想解题。

c 复制代码
int missingNumber(int* nums, int numsSize)
{
    int sum = 0;
    for (int i=0;i<numsSize;i++)
    {
        sum ^= i;//每个i与0异或,i为0 ~ numsSize-1  (因为这里,最大的数是numsSize-1,没有异或numsSize,所以最后返回值的时候还需要异或一个numsSize)
        sum ^= nums[i];//数组中每个值与0 ~ numsSize-1异或。共numsSize个数
        //数组中的值为0 ~ numsSize,但是其中少一个值,共numsSize个数。
        //
    }
    return sum^numsSize;
}
相关推荐
gihigo19984 分钟前
希尔伯特-黄变换(HHT)完整MATLAB实现
人工智能·算法·matlab
C++ 老炮儿的技术栈13 分钟前
C/C++ 中 inline(内联函数)和宏定义(#define)的区别
开发语言·c++·git·算法·机器人·visual studio
大柏怎么被偷了42 分钟前
【C++】哈希的应用
算法·哈希算法
血小板要健康1 小时前
如何计算时间复杂度(上)
java·数据结构·算法
古城小栈1 小时前
Rust Vec与HashMap全功能解析:定义、使用与进阶技巧
算法·rust
wWYy.1 小时前
详解哈希表
数据结构·算法·散列表
轻微的风格艾丝凡1 小时前
C语言内联函数(inline)与宏函数(#define)技术文档
c语言
无望__wsk1 小时前
Python第一次作业
开发语言·python·算法
Lips6111 小时前
2026.1.25力扣刷题笔记
笔记·算法·leetcode
龚礼鹏2 小时前
图像显示框架八——BufferQueue与BLASTBufferQueue(基于android 15源码分析)
android·c语言