【Leetcode】【消失的数字】【C语言】

方法一:按位异或(找单身狗)

我们知道:按位异或^操作原则:相同为零,相异为一

所以 0^a=a a ^a=0 a ^b=b ^a

c 复制代码
int missingNumber(int* nums, int numsSize){
int i = 0;
int tem1 = 0,tem2=0;
for (i = 0;i < numsSize;i++)
{
	tem1 = tem1 ^ nums[i];
}
for (i = 1;i <= numsSize;i++)
{
	tem2 = tem2 ^ i;
}
int missnum = tem1 ^ tem2;
return missnum;
}

tem1 ^ tem2时,相同的元素互相按位异或都会变成0,而消失的数字就会显现出来。

方法二:求和相减

c 复制代码
int missingNumber(int* nums, int numsSize){
    int sum1=(1+numsSize)*numsSize/2;
    int sum2=0;
    for(int i=0;i<numsSize;i++)
    {
        sum2=sum2+nums[i];
    }
    return sum1-sum2;

等差数列求和公式求前n个数的和

相关推荐
炽烈小老头11 分钟前
【 每天学习一点算法 2026/04/21】螺旋矩阵
学习·算法
Goway_Hui11 分钟前
【ReactNative鸿蒙化-三方库使用与C-API集成】
c语言·react native·harmonyos
未来转换25 分钟前
基于A2A协议的生产应用实践指南(Java)
java·开发语言·算法·agent
charlie11451419139 分钟前
嵌入式Linux驱动开发(3)——内核模块机制 - Linux 的插件系统
linux·运维·开发语言·驱动开发·嵌入式硬件·学习
谭欣辰41 分钟前
AC自动机:多模式匹配的高效利器
数据结构·c++·算法
做cv的小昊42 分钟前
【TJU】研究生应用统计学课程笔记(2)——第一章 数理统计的基本知识(1.3 统计中常用的分布族)
笔记·线性代数·数学建模·矩阵·概率论·学习方法·抽象代数
ouliten44 分钟前
cuda编程笔记(38)--CUDA 异步回调
笔记·cuda
joker_sxj1 小时前
论文阅读-DeepSeek-mHC
论文阅读·算法
Better Bench1 小时前
《八十天环游地球》阅读笔记
笔记·读书笔记·八十天环游地球
sheeta19981 小时前
LeetCode 每日一题笔记 日期:2026.04.21 题目:1722. 执行交换操作后的最小汉明距离
笔记·算法·leetcode