287.leetcode Find the Duplicate Number(hard)[数组 重复元素]
2016-08-05 10:35
519 查看
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
There is only one duplicate number in the array, but it could be repeated more than once.
题目的含义是要找到数组中唯一重复的元素,方法一是采用首先排序然后检查相邻元素的方法,但是时间复杂度为O(nlogn),还有另外一种方法因为元素都是在1到n的,因此可以采用位图的形式,每个数字用1bit表示是否重复。
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.
题目的含义是要找到数组中唯一重复的元素,方法一是采用首先排序然后检查相邻元素的方法,但是时间复杂度为O(nlogn),还有另外一种方法因为元素都是在1到n的,因此可以采用位图的形式,每个数字用1bit表示是否重复。
class Solution { public: int findDuplicate(vector<int>& nums) { if(nums.size() <=1) return -1; sort(nums.begin(),nums.end()); for(int i=0;i<nums.size()-1;i++) { if(nums[i] == nums[i+1]) return nums[i]; } return -1; } };
相关文章推荐
- 287. Find the Duplicate Number #Hard
- LeetCode-287. Find the Duplicate Number (JAVA)寻找重复元素
- [LeetCode] Find the Duplicate Number 寻找重复数
- 287. 发现重复的数量(Find the Duplicate Number)
- 154.leetcode Find Minimum in Rotated Sorted Array II(hard)[排序数组 重复元素 二分查找]
- Hard-题目2:287. Find the Duplicate Number
- 287. Find the Duplicate Number [Leetcode]
- LeetCode题解(Week 1):287. Find the Duplicate Number
- LeetCode--Find the Duplicate Number(查找重复数字)Python
- *LeetCode-Find the Duplicate Number
- LeetCode Find the Duplicate Number
- [LeetCode-26] Remove Duplicates from Sorted Array(移除数组重复元素)
- leetcode之Find the Duplicate Number
- leetcode 4. 移除有序数组中的重复元素 Remove Duplicates from Sorted Array
- leetcode:Remove Duplicates from Sorted Array去掉排序数组中重复的元素
- leetcode 题解:Remove Duplicates from Sorted Array II(已排序数组去三次及以上重复元素)
- LeetCode Remove Duplicates from Sorted Array II 删除整型数组中的重复元素并返回剩下元素个数2
- [LeetCode 287] Find the Duplicate Number
- [leetcode-287]Find the Duplicate Number(java)
- leetcode Find the Duplicate Number