码迷,mamicode.com
首页 > 编程语言 > 详细

数组中重复数字

时间:2020-04-22 13:01:14      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:nlog   off   比较   代码   过程   技术   重复数   col   第一个   

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

1.数组用O(nlogn)排序,然后找出重复数字

2.哈希表 时间和空间都为O(n)

3.从头到尾扫描数组,当扫描到下标为i的数字时,首先比较这个数字(m)是不是等于i,如果是则接着扫描下一个数字;如果不是,则再拿他和第m个数字比较。如果它和第m个数字相等,就找到了一个重复的数字;如果它和第m个数字不相等,就把第i个数字和第m个数字交换,把m放到属于它的位置。接下来再重复这个比较,交换的过程,直到我们发现第一个重复的数字。

剑指offer中的代码:

技术图片

 

数组中重复数字

标签:nlog   off   比较   代码   过程   技术   重复数   col   第一个   

原文地址:https://www.cnblogs.com/libin123/p/12751193.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!