当前位置:首页 > 编程笔记 > 正文
已解决

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

来自网友在路上 180880提问 提问时间:2023-11-18 21:34:59阅读次数: 80

最佳答案 问答题库808位专家为你答疑解惑

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

开篇

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

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

题目描述在这里插入图片描述

代码思路

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

代码纯享版

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;}
}

代码逐行解析版

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;}
}

结语

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

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"【算法萌新闯力扣】:找到所有数组中消失对数字":http://eshow365.cn/6-38700-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!