961. 在长度 2N 的数组中找出重复 N 次的元素
思路:
因为偶数长度的数组中,有一半都是相同的元素
假设他们是随机分布在数组中的,那么我们遍历每个元素时,检查他和上一个元素是否相同,就有很大概率找到他们
考虑比较极端的情况: 1 2 3 2 4 2 5 2
发现,所有的元素和上一个元素都不相同,这时我们就要从数组第一位和最后一位中选一个了
class Solution {
public:
int repeatedNTimes(vector<int>& nums) {
for(int i=1;i<nums.size();i++){
if(nums[i]==nums[i-1]) return nums[i];
}
if(nums.back()==nums[1]) return nums.back();
return nums[0];
}
};