美文网首页
1 数组中重复数字

1 数组中重复数字

作者: jose_dl | 来源:发表于2017-09-01 05:07 被阅读0次

题目

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

三种思路

  • 排序,然后从头到尾扫描,时间复杂度是O(nlogn)
  • 哈希表
    从头到尾顺序扫描每个元素,每扫描到一个数字,判断这个哈希表里是否存在.如果没有就加入,如果有就不加入.返回true.时间复杂度是O(n),但是需要额外的存储空间O(n)
  • 时间复杂度O(n),空间复杂度是O(1)
    从头开始扫描,如果当前的i位置的元素并不是i.而是j.就把i和j互换位置,如果还不是就一直替换到第i个位置的元素为i位置

相关文章

  • 剑指offer4J【C2 P3】找出数组中重复数字

    题目 找出数组中重复的数字数组中数字都在0~n之间,其中有些数字是重复的,但不知道谁重复,可能有1到多个重复的数字...

  • 剑指offer_数组中重复的数字

    找出数组中重复的数字 1、题目一:找出数组中重复的数字 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 ...

  • java如何找出数组中的不重复数字

    java如何找出数组中的不重复数字 找出数组中不重复的一个数字,题目大致是这样的: 1int[] a = { 1,...

  • CodingInterview 一刷

    1. 找出数组中重复的数字 题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,...

  • 数组中重复的数字

    题目一:找出数组中重复的数字 在一个长度为 n 的数组里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复...

  • 剑指offer学习笔记:8.1 数组

    面试题51:数组中重复的数字在一个长度为n的数组中,所有数字都在0到n-1的范围内。数组中的某些数字是重复的,但是...

  • 编程案例自我总结(一)

    此内容仅提供解题思路,应自行尝试撰写具体代码 1.数组中重复的数字查找:查找数组中重复的数字,数组长度为n,取值范...

  • 数据结构

    面试题3:数组中重复的数字在一个长度为 n 的数组里的所有数字都在 0 到 n-1 的范围内。数组中某些数字是重复...

  • 剑指offer——数组中重复的数字(Java语言)

    题目:找出数组中重复的数字 在一个长度为n的数组里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知...

  • 面试题3:数组中重复的数字

    题目一:找出数组中重复的数字。 在一个长度为n的数组里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但...

网友评论

      本文标题:1 数组中重复数字

      本文链接:https://www.haomeiwen.com/subject/ffkhjxtx.html