645. 错误的集合

2023-10-31

集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。

给定一个数组 nums 代表了集合 S 发生错误后的结果。

请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。

 

示例 1:

输入:nums = [1,2,2,4]
输出:[2,3]

示例 2:

输入:nums = [1,1]
输出:[1,2]

 

提示:

  • 2 <= nums.length <= 104
  • 1 <= nums[i] <= 104
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;

public class Solution645 {

	public int[] findErrorNums(int[] nums) {
		ArrayList<Integer> aout = new ArrayList<Integer>();
		HashMap<Integer, Integer> hm = new HashMap<Integer, Integer>();
		// Arrays.sort(nums);
		for (int i = 0; i < nums.length; i++) {
			if (hm.containsKey(nums[i])) {
				hm.put(nums[i], hm.get(nums[i]) + 1);
			} else {
				hm.put(nums[i], 1);
			}
		}
		for (int i = 1; i <= nums.length; i++) {
			if (hm.containsKey(i)) {
				if (hm.get(i) > 1) {
					aout.add(i);
				}
			}

		}
		for (int i = 1; i <= nums.length; i++) {

			if (!hm.containsKey(i)) {
				aout.add(i);
			}
		}
		int[] out = new int[aout.size()];
		for (int i = 0; i < out.length; i++) {
			out[i] = aout.get(i);
		}

		return out;
	}

	public static void main(String[] args) {

		Solution645 sol = new Solution645();

		int[] nums = { 1, 2, 2, 4 };

		System.out.println(Arrays.toString(sol.findErrorNums(nums)));
	}
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

645. 错误的集合 的相关文章

随机推荐

  • VS2019中安装使用Qt

    2023 3 20 10 30 因为毕业设计需要使用opencv和Qt开发一个软件 且OpenCV已经在2019 中配置成功了 故而也想将Qt安装到Vs当中 安装过程 直接在vs2019中选择 拓展 管理拓展 搜索Qt 然后直接下载 下载过
  • 删除python中的pip命令安装的包

    step1 找到安装目录 例 安装openpack toolkit 安装执行 pip install openpack toolkit step2 删除 切换到相应的路径下执行删除命令 pip uninstall openpack tool
  • b85主板装服务器系统,华硕b85主板装不上win7怎么办

    win7系统具有操作简单 稳定性和兼容性良好的优点 因此深受大家的喜欢 很多网友现在还在使用win7系统 不过有使用华硕电脑的用户反映华硕b85主板装不上win7怎么办 这个一般是bios设置问题导致 下面小编就教下大家华硕b85主板怎么装
  • 直流无刷电机FOC控制算法 理论到实践 —— 实践

    直流无刷电机FOC控制算法 理论到实践 实践 文章目录 直流无刷电机FOC控制算法 理论到实践 实践 1 前言 2 FOC控制整体流程 3 FOC实现 3 1 定时器实现 3 1 1 代码实现 3 2 角度识别 3 2 1 机械角度计算 3
  • 写于23年5月25日

    马上要找工作了 感觉面unity客户端程序还差点火候 回顾我的几年 可以说是为了达成目标不断地走弯路了 考研的时候就可以确定职业目标为技术美术 那时候是20年7月份了吧 考完研参加复试完是21年3月了 这个时候完全可以针对这个岗位匹配的教程
  • 编程语言注释快捷键总结

    编程语言注释快捷键总结 具体快捷键如下 语言 功能键方式 快捷键 C C 编辑注释 选定内容 Ctrl K Ctrl C 取消注释 选定内容 Ctrl K Ctrl U Java 注释当前行 Ctrl 再按注释则取消注释 Ctrl 将代码注
  • MIPI D-PHY TX 一致性测试实例解析 Part 01 续

    紧接上文 MIPI D PHY TX 一致性测试实例解析 part 01 继续完成Group 3余下的测试项讨论 Test 1 3 11 Data Lane HS TX 20 80 Rise Time tR Test 1 3 12 Data
  • Dell G3安装外星人控制中心

    Dell的外星人电脑和G系列的电脑 都支持安装外星人控制中心 Dell 支持 在驱动程序中下载Alienware OC Controls Application和Alienware Command Center Application 我们
  • 分布式事务解决方案和代码落地

    在学习Spring cloud alibaba Seata之前 我们先来了解一下分布式事务的常用解决方案和代码实现 看完出去面试再遇到分布式事务的问题 战无不胜 文章包括了2PC 3PC刚性事务 TCC 本地消息表 可靠性消息 双写对账 最
  • ICML 2018

    感谢阅读腾讯AI Lab微信号第34篇文章 当地时间 7 月 10 15 日 第 35 届国际机器学习会议 ICML 2018 在瑞典斯德哥尔摩成功举办 ICML 2018 所接收的论文的研究主题非常多样 涵盖深度学习模型 架构 理论 强化
  • nacos服务对微服务客户端心跳检测原理

    微服务注册到nacos中的代码 com alibaba nacos client naming net NamingProxy 的registerService String serviceName String groupName Ins
  • 程序设计笔记

    程序设计笔记 基础知识2020 12 7 程序设计实验须知 参考书目 计算机解决问题的步骤 代码结构 程序运行过程 基础知识 程序设计实验须知 实验前必须做好实验预习 参考书目 谭浩强C语言系列 1 C语言程序设计教程 第3版 2 C语言题
  • C#调用C++dll,C++中void*与C#类型的对应关系

    IntPtr input Marshal AllocHGlobal 100 IntPtr output Marshal AllocHGlobal 100 C 对应的int misposTrans void input void output
  • Spring Boot application.properties或application.yml相关配置

    COMMON SPRING BOOT PROPERTIES This sample file is provided as a guideline Do NOT copy it in its entirety to your own app
  • 饿了吗开源组件库Element模拟购物车系统

    传统的用html jquery来实现购物车系统要非常的复杂 但是购物车系统完全是一个数据驱动的系统 因此采用诸如Vue js angular js这些框架要简单的多 饿了吗开源的组件库Element是基于Vue js 2 0实现的 该组件库
  • mac adt识别 手机

    1 中断输入 system profiler SPUSBDataType system profiler SPUSBDataType 2 找到 Vendor ID Vendor ID 0x2a45 3 echo 0x2a45 gt andr
  • STM32定时器输出比较中断

    在使用定时器输出比较中断来输出PWM信号时 需要将定时器的输出比较匹配模式设置为 非预装载模式 或 预装载模式 预装载模式是指在定时器计数器计数到比较寄存器中的值时 会将下一个要比较的值预先装入到计数器中 而非立即加载 这种模式可以防止由于
  • 如何在Windows下使用OpenGL 2.0的API(包括GLSL)http://sourceforge.net/projects/mesa3d/files/MesaLib/7.0.3/MesaLi

    转 如何在Windows下使用OpenGL 2 0的API 包括GLSL http pkgs fedoraproject org repo pkgs tigervnc MesaLib 7 6 1 tar bz2 7db4617e9e10ad
  • 改变this指向

    改变this指向 题目 封装函数 f 使 f 的 this 指向指定的对象 改变this指向有三种方式 call bind apply call apply 只有一个区别 就是 call 方法接受的是若干个参数的列表 而 apply 方法接
  • 645. 错误的集合

    集合 s 包含从 1 到 n 的整数 不幸的是 因为数据错误 导致集合里面某一个数字复制了成了集合里面的另外一个数字的值 导致集合 丢失了一个数字 并且 有一个数字重复 给定一个数组 nums 代表了集合 S 发生错误后的结果 请你找出重复