消失的数字:

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;

    }
}
相关推荐
荣码几秒前
LangGraph多步工作流:Agent不够用的时候,我踩了4个坑
java·python
imuliuliang1 分钟前
算法中的随机化思想及其复杂度收益评估的技术7
算法
是小李呀6 分钟前
Java集合扩容机制解析:ArrayList与HashMap底层原理及性能差异
java
SimonKing6 分钟前
FreeLLMAPI:24 家厂商、128 个模型、1 个 Key智能切换所有可用的模型
java·后端·程序员
阿pin6 分钟前
Java随笔-JVM内存模型
java·开发语言·jvm·内存模型
不能跑的代码不是好代码21 分钟前
二叉树从基础概念到LeetCode实战
算法·leetcode
AI 大模型学习不踩坑25 分钟前
Harness 架构原理与工程实践详解
java·人工智能·神经网络·机器学习·计算机视觉·架构
凯瑟琳.奥古斯特44 分钟前
二分查找解力扣1011最优运载能力
开发语言·c++·算法·leetcode·职场和发展
深盾科技_Virbox1 小时前
软件交付保护如何从加壳走向代码虚拟化
java·python·安全