Problem
You are given an integer array nums
with the following properties:
nums.length == 2 * n
.nums
containsn + 1
unique elements.Exactly one element of
nums
is repeatedn
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] <= 10^4
nums
containsn + 1
unique elements and one of them is repeated exactlyn
times.
Solution (Java)
class Solution {
public int repeatedNTimes(int[] nums) {
Set<Integer> set = new HashSet<>();
for (int num : nums) {
if (!set.add(num)) {
return num;
}
}
return -1;
}
}
Explain:
nope.
Complexity:
- Time complexity : O(n).
- Space complexity : O(n).