LeetCode之Find All Numbers Disappeared in an Array

1、题目

Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once.

Find all the elements of [1, n] inclusive that do not appear in this array.

Could you do it without extra space and in O(n) runtime? You may assume the returned list does not count as extra space.

Example:

Input:
[4,3,2,7,8,2,3,1]Output:
[5,6]
Input:
[0]
Output:
[1]


2、代码实现

public class Solution {public List<Integer> findDisappearedNumbers(int[] nums) {List<Integer> list = new ArrayList<Integer>();if (nums == null || nums.length == 0)return list;Map<Integer, Integer> map = new HashMap<Integer, Integer>();for (int  i = 0;  i < nums.length; ++i) {map.put(nums[i], 2);}for (int i = 1; i <= nums.length; ++i) {Integer in = map.get(i);if (in == null) { list.add(i);}}return list;}
}

 


3、总结

当我们需要找到数组集合里面没有包含哪个元素的时候,我们可以采用HashMap来解决这个问题
比如{1, 2,4, 2, 5}
还有就是找2个字符串里面第一个不重复元素的问题,我们可以采用HashMap来解决这个问题
 
s = "leetcode"
return 0.
s = "loveleetcode",
return 2.
或者找字符数组里面唯一一个重复的字符都可以采用HashMap来解决这个问题

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

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

相关文章

根据文件扩展名得到文件对应该类型Icon方法

2019独角兽企业重金招聘Python工程师标准>>> 根据文件扩展名得到文件对应该类型Icon方法 package com.fleety.util; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GraphicsConfiguration; import java.awt.GraphicsDevice; import java.…

Asp-Net-Core开发笔记:在docker部署时遇到一个小坑

哦吼之前刚说了尝试了使用docker来部署AspNetCore应用&#xff08;Asp.Net Core部署&#xff1a;早知道&#xff0c;还是docker!以及一点碎碎念&#xff09;&#xff0c;结果这才刚上班就遇到问题了 …我这项目用的数据库是Oracle&#xff0c;之前直接运行没啥问题&#xff0c;…

lasso特征选择python_转:结合Scikit-learn介绍几种常用的特征选择方法-2

4.2 平均精确率减少 Mean decrease accuracy另一种常用的特征选择方法就是直接度量每个特征对模型精确率的影响。主要思路是打乱每个特征的特征值顺序&#xff0c;并且度量顺序变动对模型的精确率的影响。很明显&#xff0c;对于不重要的变量来说&#xff0c;打乱顺序对模型的精…

shell中条件判断if中的-z到-d的意思

shell中条件判断if中的-z到-d的意思 [ -a FILE ] 如果 FILE 存在则为真。 [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。 [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。 [ -d FILE ] 如果 FILE 存在且是一个目录则为真。 [ -e FILE ] 如果 FILE 存在则为真。…

Mac Generating Pods project Abort trap: 6

为什么80%的码农都做不了架构师&#xff1f;>>> 为项目添加cocoapods如果产生此种错误时,主要有以下几点原因: 1,cocoapods版本过低: 打开终端在终端输入:pod --version,目前最新版本是1.2.0(2017年3月),如果发现版本过低,则可以在终端输入以下命令:gem install co…

svn 服务器搭建

2019独角兽企业重金招聘Python工程师标准>>> Svn搭建 1. Linux 搭建 YUM 服务器 [rootlocalhost conf]# yum install -y subversion 2.验证安装版本&#xff1a; [rootlocalhost conf]# svnserve –version 3.创建SVN 版本库 [rootlocalhost conf]# mkdir /v…

Android之提示can‘t execute: Permission denied解决办法

1、问题 在手机里面执行文件的时候提示 cant execute: Permission denied 一开始以为是没有root权限&#xff0c;自己傻逼了&#xff0c;错误意思是&#xff0c;不能执行&#xff0c;权限定义&#xff0c; 2、解决办法 chmod 777 file 给文件可执行就可以。 一般把文件放到…

C# 使用 ValueTasks

C# 7 带有更灵活的 await 关键字&#xff1b;它现在可以等待任何提供 GetAwaiter 方法的对象。一种可用于等待的新类型是 ValueTask。与 Task 类相反&#xff0c;ValueTask 是一个结构。这具有性能优势&#xff0c;因为 ValueTask 在堆上没有对象。与异步方法调用相比&#xff…

LeetCode之Reverse String II

1、题目 Given a string and an integer k, you need to reverse the first k characters for every 2k characters counting from the start of the string. If there are less than k characters left, reverse all of them. If there are less than 2k but greater than or …

Electron - 创建跨平台的桌面客户的应用程序

Electron 框架的前身是 Atom Shell&#xff0c;可以让你写使用 JavaScript&#xff0c;HTML 和 CSS 构建跨平台的桌面应用程序。它是基于io.js 和 Chromium 开源项目&#xff0c;并用于在 Atom 编辑器中。Electron 是开源的&#xff0c;由 GitHub 维护&#xff0c;有一个活跃的…

Cognos TM1_10.1.1服务端配置

场景&#xff1a;本文继Cognos TM1_10.1.1服务端安装 之后&#xff0c;简单的说一下本人对简单配置的拙见,确保服务端在安装过程一切正常&#xff0c;成功安装。 1&#xff1a;进入TM的Cognos Configuration 2&#xff1a;如下图&#xff0c;选中环境&#xff0c;这里可以看出…

java黄油刀_一篇文章玩转ButterKnife,让代码更简洁

前言话说&#xff0c;Android开发的兄弟们都知道&#xff0c;每次初始化控件&#xff0c;设置相应的事件&#xff0c;写的那点过程多而且恶心。我们先一块回顾下不堪的曾经~那些年&#xff0c;我们是这样初始化控件&#xff1a;// 每次的习惯上来写一个initView()方法tvContent…

图片加载框架Picasso - 源码分析

简书&#xff1a;图片加载框架Picasso &#xff0d; 源码分析 前一篇文章讲了Picasso的详细用法&#xff0c;Picasso 是一个强大的图片加载缓存框架&#xff0c;一个非常优秀的开源库&#xff0c;学习一个优秀的开源库&#xff0c;,我们不仅仅是学习它的用法&#xff0c;停留在…

Bit Manipulation —— 位运算

1、介绍 Bit Manipulation(位运算)&#xff1a; 一共五种运算&#xff1a;与&#xff0c;或&#xff0c;异或&#xff0c;左移&#xff0c;右移。2、算法题目一般使用总结&#xff1a; &#xff08;1&#xff09;n & &#xff08;n-1&#xff09;能够消灭n中最右侧的一个1。…

jQuery 表单选择器

jQuery 代码&#xff1a; <script type"text/javaScript"> $(document).ready(function(){ $("#form1 input:enabled").val("这里变化了");//改变表单内可用<input> 元素 $("#form1 input:disabled").val("这里也变了…

nodejs的内存管理,垃圾回收机制

2019独角兽企业重金招聘Python工程师标准>>> 要点记录&#xff1a; 1、网页js、命令行工具&#xff0c;快进快出的&#xff0c;即时内存泄露&#xff0c;无内存管理必要! 2、服务器端nodejs和其他正规语言一样存在内存泄露。 3、nodejs基于谷歌v8js引擎&#xff…

java实体中文字段_java - Spring JPA实体类是否可以包含不在数据库表中的非数据库字段 - SO中文参考 - www.soinside.com...

我在SpringBoot中使用Spring JPA和Spring Data Rest。我有一个称为用户的数据库表和该表的实体。我没有此应用程序的控制器。EntityTable(name "USER")public class User implements Serializable {IdGeneratedValue(strategy GenerationType.IDENTITY)Basic(optio…

Redis【第二篇】集群搭建

第一步&#xff1a;准备 1.安装包 ruby-2.4.0.tar.gz rubygems-2.6.10.tgz zlib-1.2.11.tar.gz redis-3.3.2.gem 2. 架构&#xff1a; 名称IP端口节点属性redisA192.168.6.1286379主节点redisB192.168.6.1289379从节点redisC192.168.6.1296379主节点redisD192.168.6.1299379从节…

LeetCode之Ransom Note

1、题目 Given an arbitrary ransom note string and another string containing letters from all the magazines, write a function that will return true if the ransom note can be constructed from the magazines ; otherwise, it will return false. Each letter in th…

(转)java中对集合对象list的几种循环访问总结

Java集合的Stack、Queue、Map的遍历在集合操作中&#xff0c;常常离不开对集合的遍历&#xff0c;对集合遍历一般来说一个foreach就搞定了&#xff0c;但是&#xff0c;对于Stack、Queue、Map类型的遍历&#xff0c;还是有一些讲究的。最近看了一些代码&#xff0c;在便利Map时…