Given an integer array nums
, return the largest integer that only occurs once. If no integer occurs once, return -1
.
Example 1:
Input: nums = [5,7,3,9,4,9,8,3,1] Output: 8 Explanation: The maximum integer in the array is 9 but it is repeated. The number 8 occurs only once, so it is the answer.
Example 2:
Input: nums = [9,9,8,8] Output: -1 Explanation: There is no number that occurs only once.
Constraints:
1 <= nums.length <= 2000
0 <= nums[i] <= 1000
class Solution:
def largestUniqueNumber(self, A: List[int]) -> int:
counter = Counter(A)
for i in range(1000, -1, -1):
if counter[i] == 1:
return i
return -1
class Solution {
public int largestUniqueNumber(int[] A) {
int[] counter = new int[1001];
for (int a : A) {
++counter[a];
}
for (int i = 1000; i >= 0; --i) {
if (counter[i] == 1) {
return i;
}
}
return -1;
}
}
/**
* @param {number[]} A
* @return {number}
*/
var largestUniqueNumber = function (A) {
let counter = {};
for (const a of A) {
counter[a] = (counter[a] || 0) + 1;
}
for (let i = 1000; i >= 0; --i) {
if (counter[i] == 1) {
return i;
}
}
return -1;
};