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。

相关推荐
虹科测试测量14 分钟前
德思特干货 | 单通道、多通道衰减器与衰减矩阵:如何选择合适的衰减方案
服务器·测试工具·算法·矩阵
mit6.8241 小时前
py期中实验选题:实现天气预测
python·算法
xuehaikj1 小时前
YOLOv8多场景人物识别定位与改进ASF-DySample算法详解
算法·yolo·目标跟踪
异步的告白1 小时前
C语言-数据结构-2-单链表程序-增删改查
c语言·开发语言·数据结构
Wenhao.1 小时前
LeetCode 救生艇
算法·leetcode·golang
超级无敌大学霸1 小时前
二分查找和辗转相除法
c语言·算法
夏鹏今天学习了吗1 小时前
【LeetCode热题100(69/100)】字符串解码
linux·算法·leetcode
普通网友2 小时前
内存对齐与缓存友好设计
开发语言·c++·算法
小白程序员成长日记2 小时前
2025.11.18 力扣每日一题
算法·leetcode·职场和发展
Cathyqiii2 小时前
传统扩散模型 VS Diffusion-TS
人工智能·算法