剣はオファー03を指します。配列内の繰り返し番号----ハッシュセット/スワップ

 

剣はオファー03を指します。配列内の繰り返し番号

class Solution {
    public int findRepeatNumber(int[] nums) {
        HashSet<Integer> set=new HashSet<>();
        int len=nums.length;
        for(int i=0;i<len;i++){
            if(!set.add(nums[i]))   return nums[i];
        }
        return -1;
    }
}
class Solution {
    public int findRepeatNumber(int[] nums) {

        int len=nums.length;
        for(int i=0;i<len;i++){
            if(i==nums[i])  continue;
            if(nums[i]==nums[nums[i]])  return nums[i];
            int temp = nums[nums[i]];
            nums[nums[i]] = nums[i];
            nums[i] = temp;
            i--;
        }
        return -1;
    }
}

 

おすすめ

転載: blog.csdn.net/qq_41041762/article/details/108097933