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

相关推荐
️是782 分钟前
信息奥赛一本通—编程启蒙(3373:练64.2 图像旋转翻转变换)
数据结构·c++·算法
234710212714 分钟前
4.20 学习笔记
软件测试·笔记·python·学习
Jackyzhe16 分钟前
从零学习Kafka:ZooKeeper vs KRaft
学习·zookeeper·kafka
木子墨51622 分钟前
LeetCode 热题 100 精讲 | 计算几何篇:点积叉积 · 线段相交 · 凸包 · 多边形面积
c++·算法·leetcode·职场和发展·动态规划
sensen_kiss30 分钟前
CAN302 Coursework1对 JavaScript 和 PHP 的考察
javascript·学习·php
源码之家33 分钟前
计算机毕业设计:Python棉花产业数据可视化与预测系统 Django框架 ARIMA算法 数据分析 可视化 爬虫 大数据 大模型(建议收藏)✅
人工智能·python·算法·信息可视化·数据挖掘·django·课程设计
py有趣33 分钟前
力扣热门100题之最小路径和
算法·leetcode
哥本哈士奇36 分钟前
SQLAlchemy 学习笔记
笔记·学习
呼叫冰河谷38 分钟前
Unity学习笔记(六)——3DRPG游戏(4)
笔记·学习·游戏
qeen8740 分钟前
【算法笔记】前缀和经典题目解析
c语言·c++·笔记·学习·算法