class Solution {
public:
int duplicateInArray(vector<int>& nums) {
set<int> a;
for(int i=0;i<nums.size();i++)//先筛选数组中是否有在 0∼n−1 的数,有就返回-1
{
if(!(nums[i]>=0 && nums[i]<=nums.size()-1)) return -1;
}
//筛选重复数字,利用set的自动删除重复性质来判断
for(int i=0;i<nums.size();i++)
{
int now=a.size();//还未插入新元素时数组中的元素个数
a.insert(nums[i]);//插入元素,若nums[i]与set中的元素不重复,则成功插入,size+1,否则,
//size保持不变
if(now==a.size()) return nums[i];
}
return -1;
}
};
绝了