问题描述:

找出数组中重复的数字。

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

最开始想到的算法一般是嵌套for循环,但是时间复杂度为

,直接pass。

方法一:类似于计数排序

class 

这种方式可以把时间复杂度降到O(n),但是空间复杂度较高,为O(n)。

方法二:利用哈希表

class 

时间复杂度:O(n),空间复杂度:O(n)

前两种思想都差不多,但是方法二更好。

方法三:先排序,再查找

class 

时间复杂度为O(nlogn)(即排序算法的时间复杂度),空间复杂度为O(1)

方法三:

假如数组中没有重复的数字,那么经排序之后,第i位的数的值应该就等于i

class 

时间复杂度为O(n),空间复杂度为O(1)

书中的代码鲁棒性更强:

数组insert_数组中重复的数字相关推荐

  1. 剑指offer: 面试题03. 数组中重复的数字

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

  2. 找出数组中重复的数字---多思路

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

  3. 数组-数组中重复的数字(set方法)

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

  4. leetcode-找出数组中重复的数字

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

  5. 剑指offer 面试题三 找出数组中重复的数字

    1 import org.junit.Test; 2 3 import java.util.Arrays; 4 import java.util.HashSet; 5 6 public class D ...

  6. python --- 倒序输出数组中重复的数字

    #coding=utf8 输出数组中重复的数字 #1.对比判断是否存在重复的数字,是则加入k:2.判断要加入的数字在k是否已存在,若已存在则跳过 def sum(L): for i in range( ...

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

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

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

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

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

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

最新文章

  1. python界面设计实例-Python GUI项目实战(二)主窗体的界面设计与实现
  2. 使用python 提取html文件中的特定数据
  3. java 如何将word 转换为ftl_使用 freemarker导出word文档
  4. 【实战项目】采用jeecg3.2框架,一个人写的购物系统
  5. 猫影视接口相关及短网址
  6. Redis(十三)Python客户端redis-py
  7. 面试必问:TCP和UDP的区别(附面试题)
  8. 前端H5面试题Js: Javascript 创建对象的几种方式? (必会)
  9. Audio:Android-TinyAlsa架构 Mixer API
  10. 网络下载的图始终与北京坐标有偏移,坐标对不准,用arcgis自带的WGS84与beijing54坐标转换2解决
  11. 专业CDR插件牛为设计大师
  12. China Joy 还没看够?2020 谷歌游戏出海峰会带来更多精彩!
  13. Windows 和Linux利用tftp协议传送文件
  14. L1 Cache(一级缓存)
  15. 2018-2019-2 《网络对抗技术》Exp7 网络欺诈防范 Week10 20165233
  16. Linux命令行终端提示符修改
  17. 近视也可以用计算机来算,近视眼度数怎么算的 5个方法教你掌握
  18. 我的HarmonyOS实战——鸿蒙系统初定义
  19. 手把手教Linux驱动1-模块化编程
  20. iOS HID蓝牙协议

热门文章

  1. java面向对象设计_Java面向对象设计 构造函数设计
  2. java parameters用法_java11教程--类PKIXParameters用法
  3. 密码学系列之:在线证书状态协议OCSP详解
  4. ie退出全屏快捷键_视频剪辑快捷键大全
  5. oracle 12c tns,Liunx Oracle 12C TNS连接失败的解决方案
  6. python 查看函数源码_python如何查看内置函数源码
  7. 《大话脑成像》三国风云之ERP的基础成分争雄(上)
  8. sqlyog怎么连接mysql_Windows Server系统部署MySQL数据库
  9. 设计性思维模型及步骤(下)
  10. TensorFlow2利用tf.image实现数据增强