力扣: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;
    }
}
相关推荐
plainGeekDev13 小时前
MVC 写法 → MVVM
android·java·kotlin
SL_staff14 小时前
3周搭完MES系统:JVS低代码+JVS-IoT物联网的实战记录
java·前端·低代码
MacroZheng14 小时前
斩获20w star!Claude Code最强插件,AI编程必备!
java·人工智能·后端
kisshyshy14 小时前
从递归到迭代,一文吃透二叉树的核心知识与 JavaScript 实现
javascript·算法·代码规范
唐青枫15 小时前
Java Spring WebFlux 实战指南:用 Mono、Flux 和 WebClient 写响应式接口
java·spring
To_OC1 天前
LC 49 字母异位词分组:想到哈希表很简单,选对 key 才是精髓
javascript·算法·leetcode
小bo波1 天前
使用Thread子类创建线程 VS 使用Runnable接口创建线程的区别
java·多线程·thread·并发编程·runnable
SamDeepThinking1 天前
高并发场景下,CompletableFuture与ForkJoinPool该如何取舍?
java·后端·面试
用户938515635071 天前
从 O(n²) 到 O(nlogn):一文读懂快速排序的“快”与“妙”
javascript·算法
To_OC1 天前
手写快排次次翻车?别死背快排模板了,这才是面试官想听的底层逻辑
javascript·算法·排序算法