[LeetCode] 448. 找到所有数组中消失的数字(Java)

[LeetCode] 448. 找到所有数组中消失的数字(Java)

1.题目描述

给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。

示例 1:输入:nums = [4,3,2,7,8,2,3,1]
输出:[5,6]
示例 2:输入:nums = [1,1]
输出:[2]

2.解题思路

利用HashSet是不允许重复元素的集合这个属性区add所有非重复的值,然后遍历没有的值即可

3.解法

解法一:HashSet

class Solution {public static List<Integer> findDisappearedNumbers(int[] nums) {int len = nums.length;List<Integer> list = new ArrayList<>();// 利用hashset是不允许有重复元素的集合HashSet<Integer> set = new HashSet<>();for (int i = 0; i < len; i++){set.add(nums[i]);}// 遍历set中没有的值for (int i = 1; i <= len; i++){if (!set.contains(i)){list.add(i);}}return list;}
}

解法二: 原地哈希

class Solution {public static List<Integer> findDisappearedNumbers(int[] nums) {int len = nums.length;List<Integer> list = new ArrayList<>();for (int i = 0; i < len; i++){// 元素对应的索引int index = Math.abs(nums[i]) - 1;// 把索引处的元素置负数nums[index] = - Math.abs(nums[index]);}// 遍历数组, 没有置为负数的即为所求for (int i = 0; i < len; i++){if (nums[i] > 0) list.add(i + 1);}return list;}
}

4.技能点

  • HashSet
  • 原地哈希算法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562458.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

饥荒联机版连不上服务器_饥荒联机版无法连接klei服务器及刷不出服务器解决方法一览...

其实有时候连不上klei服务器和刷新不出服务器列表&#xff0c;是dns的问题。尤其一些三级宽带&#xff0c;像什么某城&#xff0c;某博士。就是被解析到了一个无法连通的服务器上。这时候换dns服务器&#xff0c;或者刷新dns缓存&#xff0c;直到找到一个能连通的服务器&#x…

Oracle12c部署,允许远程访问

Oracle的版本及类型&#xff1a;12c Oracle本地访问host为localhost&#xff0c;和其他关系型数据库mysql&#xff0c;sql server一样&#xff0c;Oracle远程访问同样需要修改host等参数。 因此&#xff0c;在部署Oracle前&#xff0c;需要确认的事只有一个&#xff1a;确保安…

renrenfast开源项目打包过程,前端使用vue element-UI,前后端分离,打包为一个jar包运行

项目使用的是renrenfast2.0 框架&#xff0c;后台springboot&#xff0c;前端vueelement-ui。项目本身有shiro拦截机制&#xff0c;需要放开static路径下文件&#xff0c;才可以访问。 步骤如下&#xff1a; 1.前端&#xff1a;npm run build (1)在dist目录下有3个文件&…

opencv对图像是软解码_C ++ OpenCV解码缓慢

I send a byte array of an image from C# to a C Library. I decode the image with OpenCV (Version 3.3.1) BMP images are fast in decoding but JPEG images are slow.How i can speed up the decoding time for JPEG images? (Multithreading, GPU, ...?)Performance o…

[算法] 原地哈希算法(Java)

[算法] 原地哈希算法(Java) 1.定义 原地哈希算法是指将原数组当成哈希表, 不开辟额外空间. 2.适用条件 原数组总所有数字范围都不超过数组长度, 也就是,给定一个数组nums, 原地哈希应用范围为[0, nums.length], 将数组元素本身作为nums的下标,也就是, nums[nums[i]]. 3.举…

[LeetCode] 442. 数组中重复的数据(Java)

[LeetCode] 442. 数组中重复的数据(Java) 1.题目描述 给你一个长度为 n 的整数数组 nums &#xff0c;其中 nums 的所有整数都在范围 [1, n] 内&#xff0c;且每个整数出现 一次 或 两次 。请你找出所有出现 两次 的整数&#xff0c;并以数组形式返回。 你必须设计并实现一个…

python中的bs4怎么导入_在Python 3.5导入BS4

I have installed both Python 3.5 and Beautifulsoup4. When I try to import bs4, I get the error below. Is there any fix for that? Or should I just install Python 3.4 instead?Please be very explicit - I am new to programming. Many thanks!Traceback (most re…

通过stream去重_Java 8 Stream.distinct() 列表去重的操作

在这篇文章里,我们将提供Java8 Stream distinct()示例。 distinct()返回由该流的不同元素组成的流。distinct()是Stream接口的方法。 distinct()使用hashCode()和equals()方法来获取不同的元素。因此,我们的类必须实现hashCode()和equals()方法。 如果distinct()正在处理有序…

基于Java学院网页的搜索引擎设计和实现

项目运行部署&#xff1a; 首先导入项目MyHeritrix 然后把jar包加到项目中运行类Heritrix访问地址http://localhost:8080/index.jsp创建一个job 6.然后写name和你自己的url 7.然后修改modules&#xff0c;只需要修改select writes和select post processors 后面导入第二个程序…

[LeetCode] 41. 缺失的第一个正数(Java)

[LeetCode] 41. 缺失的第一个正数(Java) 1.题目描述 给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1&#xff1a;输入&#xff1a;nums [1,2,0] 输出&#x…

基于java springboot+mybatis学生学科竞赛管理管理系统设计和实现

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f…

[LeetCode] 274. H 指数(Java)

[LeetCode] 274. H 指数(Java) 1.题目描述 给你一个整数数组 citations &#xff0c;其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义&#xff1a;h 代表“高引用次数”&#xff0c;一名科研人员的 h指…

layui下拉框的高度_LAYUI select 下拉框得高度

UITextFieldUITextFieldDemo 效果 特点 1.有效定制键盘的样式 2.处理键盘对文本框的遮挡 用法 1.导入文件(UITextFieldCreateInputAccessoryView.h/.m) ...&lbrack;地图SkyLine二次开发&rsqb;关于IE内存限制问题&lpar;1G&rpar;相信很多人也遇到过同样的问题,地…

基于JavaWeb SSM mybatis 学生信息管理系统设计和实现以及文档报告

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f…

[LeetCode] 453. 最小操作次数使数组元素相等(Java)

[LeetCode] 453. 最小操作次数使数组元素相等(Java) 1.题目描述 给你一个长度为 n 的整数数组&#xff0c;每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。 示例 1&#xff1a;输入&#xff1a;nums [1,2,3] 输出&#xff1a;3 解释&#xff…

python打log_python根据文件大小打log日志

本文实例讲述了python根据文件大小打log日志的方法&#xff0c;分享给大家供大家参考。具体方法如下&#xff1a;import globimport loggingimport logging.handlerslog_filenamelogging_rotatingfile_example.out# set up a specific logger with our desired output levelmy_…

基于Java swing ATM简单的银行管理系统

项目介绍&#xff1a; 本项目是使用Java swing开发&#xff0c;可实现ATM系统/银行系统的基本登陆、转账、查询余额、存取款业务。界面设计比较简介 项目结构&#xff1a; 运行截图&#xff1a; 相关系统设计实现推荐&#xff1a; 基于java springbootmybatis电影售票网站管…

[LeetCode] 665. 非递减数列(Java)

[LeetCode] 665. 非递减数列(Java) 1.题目描述 给你一个长度为 n 的整数数组 nums &#xff0c;请你判断在 最多 改变 1 个元素的情况下&#xff0c;该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的&#xff1a; 对于数组中任意的 i (0 < i < n-2)&am…

林辉高考机器人_机器人2019年参加高考 力争考上一本

机器人2019年参加高考力争考上一本2019年的文科高考生&#xff0c;即将迎来一位特殊的竞争对手——高考机器人。该款机器人包括三个独立的人工智能程序&#xff0c;分别应考数学、语文和文综。研发团队立下目标&#xff0c;将在全封闭环境中、有监考老师和公证员的情况下&#…