消失的数字:

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;

    }
}
相关推荐
namexingyun14 分钟前
开源前端生态如何成为 AI UI 生成的“燃料“:shadcn/ui、Tailwind CSS、Storybook 技术价值全解剖
java·前端·人工智能·python·ui·开源·ai编程
洛水水33 分钟前
【力扣100题】81.寻找两个正序数组的中位数
数据结构·算法·leetcode
终将老去的穷苦程序员35 分钟前
基于SpringBoot的餐饮管理系统
java·spring boot·后端
心之伊始36 分钟前
Spring AI Tool Calling 实战:让 Java Agent 调用本地 Bean 工具方法
java·spring boot·agent·spring ai·tool calling
AI人工智能+电脑小能手41 分钟前
【大白话说Java面试题 第110题】【并发篇】第10题:CAS 存在哪些问题?
java·开发语言·面试
瀚高PG实验室1 小时前
java中间件无法连接数据库
java·数据库·中间件·瀚高数据库
happymaker06261 小时前
LeetCodeHot100——155.最小栈
算法
东南门吹雪1 小时前
JAVA TCP socket编程框架
java·高并发·socket·tcp·nio
xingyuzhisuan1 小时前
缓存命中率提升方案:从 30% 优化至 82% 全流程优化记录
java·开发语言·缓存·ai
洛水水1 小时前
【力扣100题】85.每日温度
算法·leetcode·职场和发展