力扣:268. 丢失的数字(Java)

目录

题目描述:

给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。

示例 1:

输入:nums = [3,0,1]

输出:2

解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。

示例 2:

输入:nums = [0,1]

输出:2

解释:n = 2,因为有 2 个数字,所以所有的数字都在范围 [0,2] 内。2 是丢失的数字,因为它没有出现在 nums 中。

代码实现:

java 复制代码
class Solution {
    public int missingNumber(int[] nums) {
        int n = nums.length;// 数组长度
        int[] arr = new int[n + 1];// 统计元素出现次数
        for (int i = 0; i < n; i++) {
            arr[nums[i]]++;// 以元素为下标,值加一
        }

        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == 0) {
                return i;// 出现次数为0的元素,则为丢失数字
            }
        }
        return 0;
    }
}
相关推荐
langsiming9 小时前
【无标题】
java·开发语言·数据库
꧁细听勿语情꧂9 小时前
合并两个有序表、判断链表的回文结构、相交链表、环的链表一和二
c语言·开发语言·数据结构·算法
weisian1519 小时前
Java并发编程--45-分布式一致性协议入门:Raft、Paxos与ZAB的核心思想
java·分布式·raft·paxos·zab
木井巳9 小时前
【递归算法】解数独
java·算法·leetcode·决策树·深度优先·剪枝
t***54410 小时前
如何在 Dev-C++ 中切换编译器
java·开发语言·c++
Lisonseekpan10 小时前
Git:如何将一个分支的特定提交合并到另一个分支?
java·大数据·git·后端·elasticsearch
Boop_wu10 小时前
[Java EE 进阶]Mybatis进阶(动态SQL)
java·数据库·maven·mybatis
上弦月-编程10 小时前
企业级RAG系统构建指南
leetcode
大肥羊学校懒羊羊10 小时前
完数与盈数的计算题解
数据结构·c++·算法
阿Y加油吧10 小时前
算法实战笔记:LeetCode 31 下一个排列 & 287 寻找重复数
笔记·算法·leetcode