Leetcode刷题之消失的数字(C语言版)

Leetcode刷题之消失的数字(C语言版)

一、题目描述

数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?

注意:本题相对书上原题稍作改动

示例 1:

输入:3,0,1

输出:2

示例 2:

输入:9,6,4,2,3,5,7,0,1

输出:8

二、题目解析

本道题目我们可以采用一种非常巧妙的方法解决,那么就是利用等差数列的公式。我们可以先用等差数列的公式求出包括"消失的数字"的和,接着我们利用循环减去数组的每一项就可以的到消失的那一项
代码如下:

c 复制代码
int missingNumber(int* nums, int numsSize)
{
   int sum=(1+numsSize)*(numsSize)/2;
   int i=0;
   for(i=0;i<numsSize;i++)
   {
    sum=sum-nums[i];
   }
   return sum;
}

值得我们关注的是在这里我们将首项看作是1。

相关推荐
郭梧悠7 小时前
算法:有效的括号
python·算法·leetcode
atunet7 小时前
关于算法设计模式的演化与编程范式变迁的技术7
算法·设计模式
Jerry8 小时前
LeetCode 27. 移除元素
算法
旖-旎8 小时前
《LeetCode 1137 第N个泰波那契数 和 LeetCode 三步问题》
c++·算法·leetcode·动态规划
wabs6668 小时前
关于动态规划【力扣718.最长重复子数组的思考】
算法·leetcode·动态规划
技术小黑8 小时前
CNN算法实战系列08 | ResNeXt-50算法实战与猴痘病识别
人工智能·算法·cnn
Full Stack Developme8 小时前
Java 漏斗算法 及应用场景
java·开发语言·算法
zhangfeng11338 小时前
算子开发 Overwrite 覆盖/替换模式 Accumulate 累加模式,性能对比 memset错误 bat_alloc 错误
c语言·人工智能·gnu·算子开发
SuperByteMaster8 小时前
JLinkDevices.xml FLM文件路径不对
c语言
atunet8 小时前
关于稀疏图结构的高效存储与遍历算法设计的技术7
算法