您的位置:首页 > 编程语言 > Java开发

LeetCode 287 -Find the Duplicate Number ( JAVA )

2016-04-11 11:05 489 查看
Given an array nums containing n + 1 integers where each integer is between 1 and n (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.

public class Solution {
public int findDuplicate(int[] nums) {
Arrays.sort(nums);
int duplicate = 0;
for(int i = 0 ; i < nums.length-1 ; i++){
if(nums[i] == nums[i+1]){
duplicate = nums[i];
}
}
return duplicate;
}
}




总结:对数组进行排序,再进行比较。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: