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。

相关推荐
鹿角片ljp9 分钟前
力扣104.求二叉树最大深度:递归和迭代
算法·leetcode·二叉树·递归
天天进步20159 分钟前
Linux 实战:如何像查看文件一样“实时监控” System V 共享内存?
开发语言·c++·算法
菜鸟‍10 分钟前
【论文学习】Co-Seg:互提示引导的组织与细胞核分割协同学习
人工智能·学习·算法
我是你们的明哥26 分钟前
Java优先级队列(PriorityQueue)详解:原理、用法与实战示例
后端·算法
东华万里34 分钟前
第十四篇 操作符详讲
c语言·学习·大学生专区
仰泳的熊猫37 分钟前
1176 The Closest Fibonacci Number
数据结构·c++·算法·pat考试
CoderYanger38 分钟前
贪心算法:6.递增的三元子序列
java·算法·leetcode·贪心算法·1024程序员节
一条大祥脚41 分钟前
Cuda Rudece算子实现(附4090/h100测试)
java·数据结构·算法
Thomas_Cai1 小时前
YOLOv10剪枝|稀疏训练、基于torch-pruning剪枝以及微调实践
算法·yolo·剪枝·稀疏训练·结构化剪枝
CoderYanger1 小时前
贪心算法:1.柠檬水找零
java·算法·leetcode·贪心算法·1024程序员节