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

相关推荐
游乐码6 小时前
c#反射笔记二
笔记·c#
AZaLEan__6 小时前
算法考核题解
算法
MediaTea6 小时前
AI 术语通俗词典:ID3 算法
人工智能·算法
Morwit6 小时前
【力扣hot100】 221. 最大正方形
前端·算法·leetcode
呃呃本7 小时前
算法题(矩阵)
线性代数·算法·矩阵
2301_789015627 小时前
Linux基础指令(一)
linux·运维·服务器·c语言·开发语言·c++·linux指令
呃呃本7 小时前
算法题(普通数组、矩阵)
线性代数·算法·矩阵
计算机安禾7 小时前
【计算机网络】第11篇:链路状态路由协议——Dijkstra算法与OSPF的分区架构
计算机网络·算法·架构
珂朵莉MM7 小时前
第七届全球校园人工智能算法精英大赛-算法巅峰赛产业命题赛第二赛季优化题--遗传算法
人工智能·算法
gihigo19987 小时前
严格耦合波分析计算光栅衍射效率算法
算法