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

相关推荐
z200509308 小时前
今日算法: 二叉搜索树
算法
蝈理塘(/_\)大怨种8 小时前
快速排序的递归与非递归实现
数据结构·算法
问心无愧05138 小时前
ctf show web入门 89
android·前端·笔记
only-lucky8 小时前
QML深入学习三(JavaScript用法)
笔记
铅笔小新z8 小时前
【C语言】数组详解
c语言·开发语言
吴可可1238 小时前
用Bulge保持多段线圆弧连续性
算法·c#
一轮弯弯的明月8 小时前
Spring AOP编程
java·开发语言·spring boot·笔记·spring aop·学习心得
ljt27249606618 小时前
Vue笔记(二)--组件的属性和方法
前端·vue.js·笔记
qq_296553278 小时前
矩阵逆时针旋转90度:三种解法从入门到精通
数据结构·python·算法·面试·矩阵
声声codeGrandMaster8 小时前
seq2seq概念和数据集处理
人工智能·pytorch·python·算法·ai