消失的数字:

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

示例 1:

复制代码
输入:[3,0,1]
输出:2

示例 2:

复制代码
输入:[9,6,4,2,3,5,7,0,1]
输出:8

找到缺失的那个整数,需要我们用 期望的总和 - 当前数组实际总和

实际数组的总和我们可以创建一个变量Actualsum,直接利用for循环将数组与Actualsum相加即可。

如何计算期望的总和呢? 我们不妨利用数组长度来解决,

以例1来看,,我们想要期望的总和不是1+2+3吗?而当前数组长度为3,直接利用等差数列和公式

n*(n+1)/2 得到期望总和。(总有一个零占了少的数字的位置,所以可以利用这一点来求)

最后返回两和之差即可.

复制代码
class Solution {
    public int missingNumber(int[] nums) {
       
      int n = nums.length;
      int Excepedsum = n*(n+1)/2;
      int actualsum =0;
      for(int num:nums)  //增强for循环
      {
        actualsum+= num;
      }
            return Excepedsum-actualsum;

    }
}
相关推荐
大大杰哥13 小时前
leetcode hot100(3)子串
c++·算法·leetcode
Cat_Rocky13 小时前
K8s RBAC认证 简单讲
java·docker·kubernetes
一只IT攻城狮13 小时前
️ Spring Boot 文件上传,防御恶意文件攻击
java·spring boot·web安全
fish_xk13 小时前
哈希的了解
算法·哈希算法
水木流年追梦13 小时前
大模型入门-应用篇1-prompt技术
开发语言·python·算法·prompt
WL_Aurora13 小时前
【每日一题】位运算
python·算法
多加点辣也没关系13 小时前
数据结构与算法总章
数据结构·算法
影sir13 小时前
STL容器——vector类
c++·算法·stl
Brilliantwxx13 小时前
【C++】stack_queue与deque模版(模拟实现+认识+对比)
开发语言·c++·笔记·算法·list
ch.ju13 小时前
Java Programming Chapter 3——Subscript of the array
java·开发语言