leetcode 剑指 Offer 03. 数组中重复的数字 抽屉原理 一个萝卜一个坑
找出数组中重复的数字。
在一个长度为 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
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
- 首先肯定要想到
hash
表 其次才是想到正解 - 枚举每个位置
a[i]
,每次a[i]
不在自己的位置上,就把a[i]
和a[a[i]]
相交换
class Solution {public:int findRepeatNumber(vector<int>& a) {int n = a.size();for(int i=0; i<n; i++) {while(a[i] != i) {if(a[i] == a[a[i]]) return a[i];swap(a[i], a[a[i]]);}}return -1;}
};
java
class Solution {public int findRepeatNumber(int[] a) {for(int i=0; i<a.length; i++) {while(a[i] != i) {if(a[i] == a[a[i]]) return a[i];int tmp = a[i];a[i] = a[a[i]];a[tmp] = tmp;}}return -1;}
}
leetcode 剑指 Offer 03. 数组中重复的数字 抽屉原理 一个萝卜一个坑相关推荐
- Leetcode 剑指 Offer 03. 数组中重复的数字 (每日一题 20210614)
找出数组中重复的数字.在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重复 ...
- leetcode 剑指 Offer 03. 数组中重复的数字
找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重 ...
- 【三种解法实现】剑指 Offer 03. 数组中重复的数字
立志用最少的代码做最高效的表达 题目链接-->传送门 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数 ...
- 【算法】剑指 Offer 03. 数组中重复的数字
1.概述 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中 ...
- 剑指 Offer 03. 数组中重复的数字()
在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重复的数字. 解题思路 原 ...
- 【LeetCode笔记】剑指 Offer 03. 数组中重复的数字(Java、哈希表、原地算法)
文章目录 题目描述 思路 & 代码 二刷 题目描述 倒是和leetcode 287 寻找重复数很像..但是不能使用那道题的快慢指针法(也可能是我太菜了) 重点在于题干的描述[长度为 n 的数组 ...
- LeetCode-剑指 Offer 03. 数组中重复的数字
剑指 Offer 03. 数组中重复的数字 思路一:先排序,然后找到最近的两个相邻的一样数返回 class Solution {public:int findRepeatNumber(vector&l ...
- Python剑指offer:数组中重复的数字
题目一:找出数组中重复的数字 在一个长度为n的数组里的所有数字都在0~n-1的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重复的数字.例如 ...
- 《剑指offer》数组中重复的数字
题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为7的 ...
最新文章
- python爬虫毕业设计题目-Python爬虫面试题170道:2019版【1】
- vue/cli 3.0 与 2.0脚手架怎样mock数据
- 【华为云技术分享】避坑指南:关于SPDK问题分析过程
- mysql基础,索引
- c/c++ 数组和指针
- 洛谷P1690 贪婪的Copy 题解
- 若依二次开发添加 select 下拉框 变大 和 有空格存在
- 【渝粤题库】陕西师范大学200621 英语词汇学 作业
- (day 46 - 小根堆 || 动态规划 ) 剑指 Offer 49. 丑数
- synchronized互斥锁结合wait()、notify()方法使用,实现线程的阻塞以及线程调用案例
- 微软的软件下载,MSDN下载(方便,无广告,仅提供下载)
- anaconda下jupyter无法自动打开网页
- Java实战推箱子——菜鸟之路
- python3 url 获取域名ip
- 福建广电网络显示服务器异常,无法浏览网页故障
- “新”在哪 | 解密新型云计算数据中心三大关键词
- 语言认知模型--的学习笔记
- 命主属性是水什么意思_八字五行属性查询表,有没有五行属性含水的且
- 非线性电路的分析方法
- 微带线特性阻抗计算公式_HFSS 计算 微带线 特征阻抗
热门文章
- springboot家庭财务管理系统
- 物联网:以物为本还是以人为本?
- Kubernetes的网络架构
- TS协议解析第一部分(PAT)
- opencv打开pb_【OpenCV】OpenCV4调用tensorflow pb模型进行目标检测
- 北大青鸟ACCPS2第一章对象与封装
- 自媒体原创视频怎么做?这3个领域无需出镜
- 消息称高通骁龙 895 样品性能提升可达 20%
- Django的ManyToManyField(多对多)的使用以及through的作用
- matlab sdm,运行matlab空间计量包中的sdm_d.m,出现?Undefined function or variable 'sdm_d'.