剑指Offer - 面试题3. 数组中重复的数字(哈希)
1. 题目
找出数组中重复的数字。
在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
示例 1:
输入:
[2, 3, 1, 0, 2, 5, 3]
输出:2 或 3 限制:
2 <= n <= 100000
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
- 哈希set,O(1)时间复杂度实现查找
- 该题时间复杂度为 O(n)
class Solution {public:int findRepeatNumber(vector<int>& nums) {unordered_set<int> s;for(auto& n : nums){if(!s.count(n))s.insert(n);elsereturn n;}return -1;}
};
剑指Offer - 面试题3. 数组中重复的数字(哈希)相关推荐
- 剑指offer 面试题03. 数组中重复的数字
找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重 ...
- 剑指offer面试题03. 数组中重复的数字(Array)
题目描述 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中 ...
- 剑指offer面试题[51]-数组中重复的数字
题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为 ...
- 剑指offer面试题[29]-数组中出现次数超过一半的数字
题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...
- 剑指offer面试题[40]-数组中只出现一次的数字
题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 注意原题目要求空间复杂度为0(1). 位运算的具体思路可以参看剑指offer. class So ...
- 剑指Offer - 面试题51. 数组中的逆序对(归并排序,求逆序对)
1. 题目 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数. 示例 1: 输入: [7,5,6,4] 输出: 5限制: 0 ...
- 剑指offer面试题[36]-数组中的逆序对
题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P.并将P对1000000007取模的结果输出. 即输出P%1000 ...
- 剑指offer面试题39. 数组中出现次数超过一半的数字(数组)(摩尔投票法)
题目描述 **数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字. 你可以假设数组是非空的,并且给定的数组总是存在多数元素.** 思路 详见链接 代码 class Solution:def ...
- 剑指 Offer II 006. 排序数组中两个数字之和
由于题目中数组已经排好序,所以可以用双指针 双指针: i=0,j=nums.size( )-1 当 i<j 时循环,当目标小于target时i++,当目标大于target时,j-- 当目标小于t ...
最新文章
- leetcode18
- 2020前端面试总结
- HDU-4777 Rabbit Kingdomom(树状数组、区间离线)
- ARM开发步步深入之NandFlash 4KB突围
- 用unity制作能量护盾(2)
- 空气培养皿采样后保存_六级撞击式微生物采样器是什么?用途有哪些?
- 《中国人工智能学会通讯》——7.10 总结和展望
- Maven基础篇之Maven的实战入门
- 哈尔滨平面模特,哈尔滨平面模特招聘,哈尔滨平面模特兼职,哈尔滨当平面模特,哈尔滨儿童平面模特,
- ARKit入门到精通 1.0 - 实战案例 AR打地鼠-史小川-专题视频课程
- redis的配置文件修改
- CAD选择时会卡一下的解决办法
- Zemax操作--7(坐标断点)
- 用Multisim搭建三极管输出特性曲线及负载线产生电路
- Hibernate的4种继承关系
- 保研经历-清华计算机、北大、中科院计算所
- 【Python3】作业车间调度,SPT规则,LPT规则
- 2022虎年背景全新UI头像框制作微信小程序源码下载支持多种流量主
- 程序员写给老婆的代码
- 【周记】腾讯犀牛鸟「云开发」校园技术布道师养成计划
热门文章
- matlab 作图 虚线太长,matlab 极坐标绘图 在matlab中,用polar画的图形,如何使虚线圆多显示几个?...
- HttpClient中转上传文件
- C++ 版本ORM访问数据库之ODB访问oracle的Demo(三)
- jQuery load() 中文乱码
- RNA-Seq分析软件HTSeq的安装
- 201521123044 《Java程序设计》第01周学习总结
- error_reporting
- MYSQL性能优化(转)
- C和C++混合编程(__cplusplus 与 external c 的使用)
- UNIX TCP回射服务器/客户端之使用epoll模型的服务器