sacgajcvs

Untitled

Aug 29th, 2020
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. class Solution {
  2. public:
  3. vector<int> findDuplicates(vector<int>& nums) {
  4. vector<int> ans;
  5. int cur,tmp;
  6. for(int i=0;i<nums.size();i++) {
  7. if(nums[i]!=-1) {
  8. if(nums[i]==i+1) {
  9. nums[i] = -1;
  10. continue;
  11. }
  12. cur = nums[i] - 1;
  13. nums[i] = -2;
  14. while(nums[cur]!=-1 && nums[cur]!=-2) {
  15. tmp = nums[cur] - 1;
  16. nums[cur] = -1;
  17. cur = tmp;
  18. }
  19. if(nums[cur] == -2) {
  20. nums[cur] = -1;
  21. } else {
  22. ans.push_back(cur+1);
  23. }
  24. }
  25. }
  26. return ans;
  27. }
  28. };
Advertisement
Add Comment
Please, Sign In to add comment