目录

【算法萌新闯力扣】:找到所有数组中消失对数字

力扣热题:找到所有数组中消失对数字

开篇

这两天刚交了蓝桥杯的报名费,刷题的积极性高涨。算上打卡题,今天刷了10道算法题了,题目都比较简单,挑选了一道还不错的题目与大家分享。

题目链接:448.找到所有数组中消失对数字

题目描述

代码思路

把数组先排序,然后利用桶排来统计数组中存在的元素,对于数量为0的元素则存入list集合中,最后返回list集合

代码纯享版

java 复制代码
class Solution {
    public List<Integer> findDisappearedNumbers(int[] nums) {
        List<Integer> list = new ArrayList<>();
        Arrays.sort(nums);
        int[] a = new int[nums.length + 1];
        for(int i = 0; i < nums.length; i++){
            a[nums[i]]++;
        }
        for(int i = 1; i <= nums.length; i++){
            if(a[i] == 0)list.add(i);
        }
        return list;
    }
}

代码逐行解析版

java 复制代码
class Solution {
    public List<Integer> findDisappearedNumbers(int[] nums) {
        List<Integer> list = new ArrayList<>(); //创建list集合保存没有出现的数字
        Arrays.sort(nums); //利用sort方法使数组元素从小到大排序
        int[] a = new int[nums.length + 1]; //创建数组
        for(int i = 0; i < nums.length; i++){ //桶排,统计数组中每个元素出现的次数
            a[nums[i]]++; 
        }
        for(int i = 1; i <= nums.length; i++){ //a[i] == 0说明这个数数消失的,符合题目要求
            if(a[i] == 0) list.add(i);
        }
        return list;
    }
}

结语

如果这道题的分享对你有帮助,点个关注,我会每天更新力扣题目的讲解,我们一起进步。

本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
火车叼位3 分钟前
初中生也能懂的贝叶斯定理:拆解一个改变世界的公式
人工智能·数学·算法
ChoSeitaku6 分钟前
NO.66十六届蓝桥杯备战|基础算法-贪心-区间问题|凌乱的yyy|Rader Installation|Sunscreen|牛栏预定(C++)
c++·算法·蓝桥杯
用手码出世界12 分钟前
二叉树——队列bfs专题
数据结构·算法·宽度优先
爱的叹息14 分钟前
关于 Spring自定义缓存管理器 的详细说明,包含两种实现方式的对比和代码示例,并附表格总结
java·spring·缓存
刘龙超21 分钟前
如何应对 Android 面试官 -> 网络如何优化?
android·java
OneQ66622 分钟前
C++自学笔记---指针在数组遍历中的应用
c++·笔记·算法
EnigmaCoder24 分钟前
蓝桥杯刷题周计划(第四周)
c++·算法·蓝桥杯
绿水毛怪.26 分钟前
蓝桥杯基础算法-字符串与集合
算法·职场和发展·蓝桥杯
IT瘾君31 分钟前
Java基础:Logback日志框架
java·开发语言·logback
suimeng632 分钟前
Java的Selenium的特殊元素操作与定位之select下拉框
java·自动化测试·selenium