Find the Duplicate Number
题目描述:
给定一个包含n+1个数的数组,数组中的数的范围是1到n;其中有且只有存在一个数重复,且可能重复多次。要求找到这个重复的数。
例子:
具体描述见LeetCode289
解题思路:
我们这边利用二分查找的方式来解题。既然存在一个重复的数,那对于中位数而言,重复的数肯定在数量较多的那一侧。所以我们每次只要遍历所有的数找到比中位数小的数的数量。根据统计的数量进行对low和high的调整即可。
代码如下:
|
|
给定一个包含n+1个数的数组,数组中的数的范围是1到n;其中有且只有存在一个数重复,且可能重复多次。要求找到这个重复的数。
具体描述见LeetCode289
我们这边利用二分查找的方式来解题。既然存在一个重复的数,那对于中位数而言,重复的数肯定在数量较多的那一侧。所以我们每次只要遍历所有的数找到比中位数小的数的数量。根据统计的数量进行对low和high的调整即可。
|
|