Welcome to Subscribe On Youtube

961. N-Repeated Element in Size 2N Array

Description

You are given an integer array nums with the following properties:

  • nums.length == 2 * n.
  • nums contains n + 1 unique elements.
  • Exactly one element of nums is repeated n times.

Return the element that is repeated n times.

 

Example 1:

Input: nums = [1,2,3,3]
Output: 3

Example 2:

Input: nums = [2,1,2,5,3,2]
Output: 2

Example 3:

Input: nums = [5,1,5,2,5,3,5,4]
Output: 5

 

Constraints:

  • 2 <= n <= 5000
  • nums.length == 2 * n
  • 0 <= nums[i] <= 104
  • nums contains n + 1 unique elements and one of them is repeated exactly n times.

Solutions

  • class Solution {
        public int repeatedNTimes(int[] nums) {
            Set<Integer> s = new HashSet<>(nums.length / 2 + 1);
            for (int i = 0;; ++i) {
                if (!s.add(nums[i])) {
                    return nums[i];
                }
            }
        }
    }
    
  • class Solution {
    public:
        int repeatedNTimes(vector<int>& nums) {
            unordered_set<int> s;
            for (int i = 0;; ++i) {
                if (s.count(nums[i])) {
                    return nums[i];
                }
                s.insert(nums[i]);
            }
        }
    };
    
  • class Solution:
        def repeatedNTimes(self, nums: List[int]) -> int:
            s = set()
            for x in nums:
                if x in s:
                    return x
                s.add(x)
    
    
  • func repeatedNTimes(nums []int) int {
    	s := map[int]bool{}
    	for i := 0; ; i++ {
    		if s[nums[i]] {
    			return nums[i]
    		}
    		s[nums[i]] = true
    	}
    }
    
  • function repeatedNTimes(nums: number[]): number {
        const s: Set<number> = new Set();
        for (const x of nums) {
            if (s.has(x)) {
                return x;
            }
            s.add(x);
        }
    }
    
    
  • /**
     * @param {number[]} nums
     * @return {number}
     */
    var repeatedNTimes = function (nums) {
        const s = new Set();
        for (const x of nums) {
            if (s.has(x)) {
                return x;
            }
            s.add(x);
        }
    };
    
    
  • class Solution {
        public int repeatedNTimes(int[] nums) {
            for (int i = 2; i < nums.length; ++i) {
                if (nums[i] == nums[i - 1] || nums[i] == nums[i - 2]) {
                    return nums[i];
                }
            }
            return nums[0];
        }
    }
    
    
  • class Solution {
    public:
        int repeatedNTimes(vector<int>& nums) {
            for (int i = 2; i < nums.size(); ++i) {
                if (nums[i] == nums[i - 1] || nums[i] == nums[i - 2]) {
                    return nums[i];
                }
            }
            return nums[0];
        }
    };
    
    
  • class Solution:
        def repeatedNTimes(self, nums: List[int]) -> int:
            for i in range(2, len(nums)):
                if nums[i] == nums[i - 1] or nums[i] == nums[i - 2]:
                    return nums[i]
            return nums[0]
    
    
  • func repeatedNTimes(nums []int) int {
    	for i := 2; i < len(nums); i++ {
    		if nums[i] == nums[i-1] || nums[i] == nums[i-2] {
    			return nums[i]
    		}
    	}
    	return nums[0]
    }
    
    
  • function repeatedNTimes(nums: number[]): number {
        for (let i = 2; i < nums.length; ++i) {
            if (nums[i] === nums[i - 1] || nums[i] === nums[i - 2]) {
                return nums[i];
            }
        }
        return nums[0];
    }
    
    
  • /**
     * @param {number[]} nums
     * @return {number}
     */
    var repeatedNTimes = function (nums) {
        for (let i = 2; i < nums.length; ++i) {
            if (nums[i] === nums[i - 1] || nums[i] === nums[i - 2]) {
                return nums[i];
            }
        }
        return nums[0];
    };
    
    

All Problems

All Solutions