【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 分钟前
cartographer源码阅读四-MapBuilder
学习·slam
add45a28 分钟前
C++中的观察者模式
开发语言·c++·算法
进击的小头31 分钟前
第13篇:基于伯德图的超前_滞后校正器深度设计
python·算法
leaves falling32 分钟前
二分查找:迭代与递归实现全解析
数据结构·算法·leetcode
ShiJiuD66688899936 分钟前
mysql 基础笔记一
数据库·笔记·mysql
做怪小疯子38 分钟前
Leetcode刷题——深度优先搜索(DFS)
算法·leetcode·深度优先
科研online43 分钟前
新导则下-洪水影响评价全流程+HecRAS一维二维模型构建实操
学习方法
大数据AI人工智能培训专家培训讲师叶梓1 小时前
120B 数学语料 + GRPO 算法,DeepSeekMath 刷新开源大模型推理天花板
人工智能·算法·大模型·推理·deepseek·openclaw·openclaw 讲师
IMPYLH1 小时前
Linux 的 comm 命令
linux·运维·算法
薛定谔的悦1 小时前
嵌入式设备OTA升级实战:从MQTT命令到自动重启的全流程解析
linux·算法·ota·ems