消失的数字:

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;

    }
}
相关推荐
小新同学^O^1 分钟前
简单学习 --> 文件IO
java·学习·文件io
洛水水7 分钟前
【力扣100题】29. 对称二叉树
算法·leetcode·职场和发展
大熊背15 分钟前
近期遇到的一些问题总结(四)
算法·拍照·白平衡·isp pipeline
吴声子夜歌17 分钟前
Java——Arrays
java·算法·排序算法
fanzhonghong28 分钟前
javaWeb开发之Maven高级
java·开发语言·spring boot·spring cloud·私服
洛水水28 分钟前
【力扣100题】26. 二叉树的中序遍历
算法·leetcode·深度优先
sheeta199829 分钟前
LeetCode 每日一题笔记 日期:2026.05.11 题目:2553. 分割数组中数字的数位
笔记·算法·leetcode
xu_ws31 分钟前
spring通过三级缓存解决循环依赖
java·spring·缓存·循环依赖
Chase_______32 分钟前
Java 基础语言 ③:流程控制与数组——从条件分支到数组遍历,一篇通关
java·数据库·python
luck_bor38 分钟前
Lambda表达式 算法异常
java·开发语言