力扣 面试题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;
}
相关推荐
血色橄榄枝5 小时前
基于用户注册信息的关键词检测挑战赛「Datawhale AI 夏令营」
人工智能·算法·机器学习
天空'之城5 小时前
C 语言工业级通用组件手写 04:阻塞队列
c语言·嵌入式开发·阻塞队列·多线程开发
c238566 小时前
第二篇:《测试指挥官:可视化单题自测框架(含 assert 实操)》
java·数据库·c++·算法·安全性测试
六点_dn7 小时前
Linux学习笔记-printf命令
linux·运维·算法
遥感知识服务7 小时前
Sentinel-1 + DEM + FwDET + 随机森林:从快速水深初估到多因子误差修正
算法·随机森林·sentinel
来一碗刘肉面8 小时前
顺序表与链表的比较
数据结构·算法·链表
alphaTao8 小时前
LeetCode 每日一题 2026/7/13-2026/7/19
算法·leetcode
nnerddboy8 小时前
脑电信号处理实战 03 | 运动想象脑机接口入门:ERD/ERS、CSP 空间滤波与左右拳想象解码
算法·信号处理
dtq04248 小时前
C语言-结构体详解
c语言·开发语言·学习
QN1幻化引擎9 小时前
Dalin L — 我造了一门支持中文编程的语言,完整移植到 Rust 了
人工智能·算法·机器学习