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

相关推荐
ab1515174 分钟前
3.27完成3(指针)、13、41、44(指针)、50、51、95、96、97
算法
程序猿编码6 分钟前
隐匿注入型ELF加壳器:原理、设计与实现深度解析(C/C++ 代码实现)
c语言·网络·c++·elf·代码注入
AI成长日志15 分钟前
【强化学习专栏】深度强化学习技术演进:DQN、PPO、SAC的架构设计与训练优化
人工智能·算法·架构
weixin_4093831216 分钟前
godot碰撞测试的学习
学习·游戏引擎·godot
mo_alo16 分钟前
Everything Claude Code 完全指南:给 Claude Code 装上涡轮增压【安装和使用超详细教程!!!】
笔记·embedding·ai编程·claude·ecc
郭逍遥20 分钟前
[Godot] JPS跳点寻路和RVO避障
算法·godot·启发式算法
电子云与长程纠缠21 分钟前
Godot学习06 - AnimationPlayer内置动画
学习·游戏引擎·godot
rgb2gray24 分钟前
论文详解:基于POI数据的城市功能区动态演化分析——以北京为例
人工智能·算法·机器学习·回归·gwr
m0_7349980125 分钟前
Day 26
数据结构·c++·算法
山塘小鱼儿27 分钟前
LangGraph生成小红书书评(学习)
学习·大模型·langgraph