class Solution {
public:
vector<int> findDuplicates(vector<int>& nums) {
vector<int> res;
int n=nums.size();
//int tra,i=0;
int i=0;
while(i<n){
if(nums[i]!=nums[nums[i]-1]){
/*为啥时间不行??
tra=nums[i];
nums[i]=nums[nums[i]-1];
nums[nums[i]-1]=tra;
*/
swap(nums[i], nums[nums[i]-1]);
}
else
i++;
}
for(i=0;i<n;i++){
if(nums[i]!=i+1)
res.push_back(nums[i]);
}
return res;
}
};