leetcode 287: Find the Duplicate Number
来源:互联网 发布:多功能数据擦除机 编辑:程序博客网 时间:2024/04/29 03:10
Find the Duplicate Number
Total Accepted: 1340 Total Submissions: 4766 Difficulty: Hard
Given an array nums containing n + 1 integers where each integer is between 1 andn (inclusive), prove that at least one duplicate number must exist. Assume that there is only one duplicate number, find the duplicate one.
Note:
- You must not modify the array (assume the array is read only).
- You must use only constant, O(1) extra space.
- Your runtime complexity should be less than
O(n2)
. - There is only one duplicate number in the array, but it could be repeated more than once.
[思路]
二分查找, 1..10,, 小于等于5的一定有5个,如果多于5个,就在lower part, 等于5个就是upper part.
[CODE]
public class Solution { public int findDuplicate(int[] nums) { int n = nums.length-1; int low = 1, high= n; int mid = 0; while(low<high) { mid = low + (high-low)/2; int c= count(nums, mid); //count #numbers less than mid. if(c<=mid) { low = mid+1; } else { high = mid; } } return low; } private int count(int[] nums, int mid) { int c =0; for(int i=0; i<nums.length; i++) { if(nums[i]<=mid) c++; } return c; }}
0 0
- [leetcode 287]Find the Duplicate Number
- leetcode 287: Find the Duplicate Number
- [LeetCode 287] Find the Duplicate Number
- Find the Duplicate Number leetcode 287
- leetcode 287 Find the Duplicate Number
- [leetcode-287]Find the Duplicate Number(java)
- leetcode 287 Find the Duplicate Number
- LeetCode(287)Find the Duplicate Number
- Find the Duplicate Number(Leetcode 287)
- LeetCode 287 -Find the Duplicate Number ( JAVA )
- LeetCode 287 Find the Duplicate Number (二分)
- leetcode 【287 Find the Duplicate Number】【Python】
- Leetcode (287) Find the Duplicate Number
- LeetCode 287 Find The Duplicate Number
- LeetCode No.287 Find the Duplicate Number
- LeetCode 287---Find the Duplicate Number
- Leetcode 287 Find the Duplicate Number
- leetcode(287). Find the Duplicate Number
- Intel MACHINE-CHECK 特性的初始化伪代码实现
- sap bw hierarchy table 介绍
- C++类的复制构造函数
- ResolveClientUrl ResolveUrl
- Essential c++学习系列第二章 函数与内存机制初探
- leetcode 287: Find the Duplicate Number
- 一种特别适用的数字分区函数,分享一下
- C#_在VS2010下进行单元测试
- block学习
- 毕设帮(5188.help)开发日志——毕设帮构想的由来
- 我们都很喜欢的类列表树视图
- 只能输入正整数 以及常用的正则表达式
- SQL Server char nchar vchar nvarchar 辨析
- .net2.0的 Mscomm在XP运行失败问题