Skip to content

Latest commit

 

History

History
95 lines (74 loc) · 1.98 KB

File metadata and controls

95 lines (74 loc) · 1.98 KB

中文文档

Description

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

Solutions

Python3

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

Java

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;
    }
}

JavaScript

/**
 * @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;
};

...