【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个数的和

相关推荐
Fate_I_C15 小时前
创意创新孵化器平台
笔记
智者知已应修善业15 小时前
【51单片机独立按键控制数码管动态显示和LED间隔闪烁并清零】2023-5-28
c语言·经验分享·笔记·算法·51单片机
talen_hx29615 小时前
《零基础入门Spark》学习笔记 Day 15
大数据·笔记·学习·spark
_李小白15 小时前
【OSG学习笔记】Day 41: ReadFileCallback 与 WriteFileCallback(自定义文件读取)
java·笔记·学习
悠哉悠哉愿意15 小时前
【单片机复习笔记】十三届国赛复盘2
笔记·单片机·嵌入式硬件
知识分享小能手15 小时前
MongoDB入门学习教程,从入门到精通,MongoDB 持久性完全指南(20)
数据库·学习·mongodb
水云桐程序员15 小时前
用C语言开发单片机项目的工作思路
c语言·开发语言·单片机
北顾笙98015 小时前
day22-数据结构力扣
数据结构·算法·leetcode
IT枫斗者15 小时前
AI Agent 设计模式全景解析:从单体智能到分布式协作的架构演进
人工智能·redis·分布式·算法·spring·缓存·设计模式
老鱼说AI15 小时前
长文预警!大模型面试:关于大模型微调的进阶与工程部署讲解
人工智能·深度学习·神经网络·学习·自然语言处理·面试·职场和发展