题目:
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020100115374090.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjcyMTQxMg==,size_16,color_FFFFFF,t_70#pic_center)
分析:起初没看到范围,看了题解。确实挺妙妙的,遍历过的,对应下标的数组值变为-的。
代码:
class Solution {
public:
vector<int> findDuplicates(vector<int>& n) {
vector<int> n2;
for(int i=0;i<n.size();i++)
{
int nn=max(n[i],-n[i]);
if(n[nn-1]<0) n2.push_back(nn);
else n[nn-1]=-1*n[nn-1];
}
return n2;
}
};