数组-丢失的数字(哈希表法)
题意:
给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。
示例 1:
输入:nums = [3,0,1]
输出:2
解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。
示例 2:
输入:nums = [0,1]
输出:2
解释:n = 2,因为有 2 个数字,所以所有的数字都在范围 [0,2] 内。2 是丢失的数字,因为它没有出现在 nums 中。
思路:(哈希表法)
1.建立一个哈希表,并将数组元素插入到哈希表
2.循环查找,如果判断不存在,则返回那个数,否则返回-1
Java代码实现:
class Solution {public int missingNumber(int[] nums) {Set<Integer> set = new HashSet<Integer>();for(int i:nums) set.add(i);int n = nums.length + 1;for(int i = 0; i < n; i++){if(!set.contains(i)){return i;}}return -1;}
}
数组-丢失的数字(哈希表法)相关推荐
- 00002-两数之和-leetcode-1.暴力法(枚举法),2.哈希表法,目前更新了枚举法
两数之和 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/two-sum 著作权归领扣网络所有.商业转载请联系官方授权,非商业转载请注明出处. ...
- LeetCode-只出现一次的数字-哈希表-异或-py
LeetCode-只出现一次的数字-哈希表-异或-py 题目回顾 题解 python 哈希表实现 python 异或实现 题目回顾 传送门 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元 ...
- 两数之和(LeetCode)——哈希表法(C语言)
上一篇文章留了个引子--用"哈希表"法来解决这个问题. 今天,我们来解决一下.为什么用哈希表法?很简单因为它--快! 讲解之前我们先来提出几个问题? 1)什么是"哈希表& ...
- C++:数组、链表与哈希表
文章目录 数组和链表 数组 什么是数组? 访问数组元素 可变长的动态数组:vector Vector基本用法 链表 什么是链表? 链表的操作 双向链表(list) list的成员函数 哈希表 什么是哈 ...
- 牛客网Java刷题知识点之数组、链表、哈希表、 红黑二叉树
不多说,直接上干货! 首先来说一个非常形象的例子,来说明下数组和链表. 上体育课的时候,老师说:你们站一队,每个人记住自己是第几个,我喊到几,那个人就举手,这就是数组. 老师说,你们每个人记住自己前面 ...
- PHP的数组结构是用哈希表实现的
今天回顾学习了PHP中变量实现的方法,在浏览其源码是发现在PHP中所有的数据类型通过一个union存储.php语言是弱类型语言,其实现中通过记录变量的类型和值来实现其管理. PHP中使用最多的非Arr ...
- LeetCode 349. 两个数组的交集【哈希表】
349. 两个数组的交集 给定两个数组 nums1 和 nums2 ,返回 它们的交集 .输出结果中的每个元素一定是 唯一 的.我们可以 不考虑输出结果的顺序 . 示例 1: 输入:nums1 = [ ...
- 算法训练Day6 | LeetCode:242. 有效的字母异位词(数组作哈希表);349. 两个数组的交集(Set作哈希表);202.快乐数 (Set作哈希表);1. 两数之和(Map作哈希表)
目录 LeetCode242. 有效的字母异位词 方法:数组作哈希表 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考 Leetcode349. 两个数组的交集 方法一:用Set作HashMa ...
- stl 基于哈希的map c++_关于哈希表,你该了解这些!
(给算法爱好者加星标,修炼编程内功) 来源:代码随想录(本文来自作者投稿) 哈希表 首先什么是 哈希表,哈希表(英文名字为Hash table,国内也有一些算法书籍翻译为散列表,大家看到这两个名称知道 ...
最新文章
- 嗯,挺全乎儿的,Spring Boot 多环境配置都在这儿了,你喜欢哪一种呢?
- 一篇来自网络的关于“enqueue”events的简短参考(转)
- 发包工具_java并发包工具类
- docker安装elasticsearch7.6.1、elasticsearch-head
- velocity用法简单实例说明 .
- jqGrid编辑—公共规则【附视频、ppt、源码】
- UVA 10558 A Brief Gerrymander
- RabbitMQ学习总结(1)——基础概念详细介绍
- 我的家乡主题网页设计
- Golang语言移植-ARM开发环境搭建
- VOLTE-QOS服务质量
- 求大家别秀智商了:请给我的头像一顶圣诞帽@微信官方
- 服务器和云虚拟主机,虚拟主机与云服务器各自适应什么样的人群?
- 主线程退出对子线程的影响
- 122412_0529_WORD2013BLO1
- chrome + IDM + 油猴插件 实现百度网盘大文件的高速下载
- Upload 上传:图片上传
- Azure虚拟机计费模式
- c语言如何实现多线程VC,vc多线程(c++多线程)
- nvidia:成功解决Windows10右键没有NVIDIA控制面板图文教程之详细攻略