找出数组中重复的数字。

在一个长度为 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. 数组中重复的数字 抽屉原理 一个萝卜一个坑相关推荐

  1. Leetcode 剑指 Offer 03. 数组中重复的数字 (每日一题 20210614)

    找出数组中重复的数字.在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重复 ...

  2. leetcode 剑指 Offer 03. 数组中重复的数字

    找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重 ...

  3. 【三种解法实现】剑指 Offer 03. 数组中重复的数字

    立志用最少的代码做最高效的表达 题目链接-->传送门 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数 ...

  4. 【算法】剑指 Offer 03. 数组中重复的数字

    1.概述 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中 ...

  5. 剑指 Offer 03. 数组中重复的数字()

    在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重复的数字. 解题思路 原 ...

  6. 【LeetCode笔记】剑指 Offer 03. 数组中重复的数字(Java、哈希表、原地算法)

    文章目录 题目描述 思路 & 代码 二刷 题目描述 倒是和leetcode 287 寻找重复数很像..但是不能使用那道题的快慢指针法(也可能是我太菜了) 重点在于题干的描述[长度为 n 的数组 ...

  7. LeetCode-剑指 Offer 03. 数组中重复的数字

    剑指 Offer 03. 数组中重复的数字 思路一:先排序,然后找到最近的两个相邻的一样数返回 class Solution {public:int findRepeatNumber(vector&l ...

  8. Python剑指offer:数组中重复的数字

    题目一:找出数组中重复的数字 在一个长度为n的数组里的所有数字都在0~n-1的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重复的数字.例如 ...

  9. 《剑指offer》数组中重复的数字

    题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为7的 ...

最新文章

  1. python爬虫毕业设计题目-Python爬虫面试题170道:2019版【1】
  2. vue/cli 3.0 与 2.0脚手架怎样mock数据
  3. 【华为云技术分享】避坑指南:关于SPDK问题分析过程
  4. mysql基础,索引
  5. c/c++ 数组和指针
  6. 洛谷P1690 贪婪的Copy 题解
  7. 若依二次开发添加 select 下拉框 变大 和 有空格存在
  8. 【渝粤题库】陕西师范大学200621 英语词汇学 作业
  9. (day 46 - 小根堆 || 动态规划 ) 剑指 Offer 49. 丑数
  10. synchronized互斥锁结合wait()、notify()方法使用,实现线程的阻塞以及线程调用案例
  11. 微软的软件下载,MSDN下载(方便,无广告,仅提供下载)
  12. anaconda下jupyter无法自动打开网页
  13. Java实战推箱子——菜鸟之路
  14. python3 url 获取域名ip
  15. 福建广电网络显示服务器异常,无法浏览网页故障
  16. “新”在哪 | 解密新型云计算数据中心三大关键词
  17. 语言认知模型--的学习笔记
  18. 命主属性是水什么意思_八字五行属性查询表,有没有五行属性含水的且
  19. 非线性电路的分析方法
  20. 微带线特性阻抗计算公式_HFSS 计算 微带线 特征阻抗

热门文章

  1. springboot家庭财务管理系统
  2. 物联网:以物为本还是以人为本?
  3. Kubernetes的网络架构
  4. TS协议解析第一部分(PAT)
  5. opencv打开pb_【OpenCV】OpenCV4调用tensorflow pb模型进行目标检测
  6. 北大青鸟ACCPS2第一章对象与封装
  7. 自媒体原创视频怎么做?这3个领域无需出镜
  8. 消息称高通骁龙 895 样品性能提升可达 20%
  9. Django的ManyToManyField(多对多)的使用以及through的作用
  10. matlab sdm,运行matlab空间计量包中的sdm_d.m,出现?Undefined function or variable 'sdm_d'.