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

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

示例 1:

输入:[3,0,1]
输出:2

示例 2:

输入:[9,6,4,2,3,5,7,0,1]
输出:8
解答思路:使用异或思想解题。

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;
}

在这里插入图片描述

相关推荐

  1. 面试150 | 轮转数组

    2024-06-16 14:04:01       42 阅读
  2. 阶段练习(1).消失数字

    2024-06-16 14:04:01       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-16 14:04:01       10 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-16 14:04:01       12 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-16 14:04:01       11 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-16 14:04:01       14 阅读

热门阅读

  1. git子模块应用和常用用法

    2024-06-16 14:04:01       6 阅读
  2. MySQL每日备份

    2024-06-16 14:04:01       6 阅读
  3. C++ 取近似值

    2024-06-16 14:04:01       9 阅读
  4. GO语言容器大全(附样例代码)

    2024-06-16 14:04:01       6 阅读
  5. linux下nvidia驱动安装-ubuntu22.04安装2060-notebook驱动

    2024-06-16 14:04:01       8 阅读
  6. 如何基于Redis实现消息队列

    2024-06-16 14:04:01       5 阅读
  7. JVM-GC-基础知识

    2024-06-16 14:04:01       7 阅读
  8. 差分,LeetCode 2779. 数组的最大美丽值

    2024-06-16 14:04:01       8 阅读
  9. Oracle锁机制之分类和死锁

    2024-06-16 14:04:01       7 阅读
  10. Web前端收入来源:探索多元化的盈利渠道

    2024-06-16 14:04:01       5 阅读
  11. yolov10 学习笔记

    2024-06-16 14:04:01       5 阅读