找出数组中的重复数字


 1 class Solution {
 2 public:
 3     int findRepeatNumber(vector<int>& nums) {
 4         int n=nums.size();
 5         int t;
 6         for(int i=0;i<n;++i){
 7             while(i!=nums[i]){
 8                 if(nums[i]!=nums[nums[i]]){
 9                     t=nums[i];
10                     nums[nums[i]]=t;
11                     nums[i]=nums[nums[i]];
12                 }
13                 else
14                     return nums[i];
15             }
16         }
17         return -1;
18     }
19 };

 

 1 class Solution {
 2 public:
 3     int findRepeatNumber(vector<int>& nums) {
 4         int n=nums.size();
 5         vector<int> map(n,n);
 6         int flag=-1;
 7         for(int i=0;i<n;++i){
 8             if(map[nums[i]]!=nums[i])
 9                 map[nums[i]]=nums[i];
10             else
11                 return nums[i];
12                 flag=i;   
13         }
14         return flag;
15         
16     }
17 };

 

posted @ 2021-03-09 20:52  乐天的LEEE  阅读(56)  评论(0编辑  收藏  举报