leetcode_1133 最大唯一数

114 阅读1分钟

要求

给你一个整数数组 A,请找出并返回在该数组中仅出现一次的最大整数。

如果不存在这个只出现一次的整数,则返回 -1。

示例 1:

输入:[5,7,3,9,4,9,8,3,1]
输出:8
解释: 
数组中最大的整数是 9,但它在数组中重复出现了。而第二大的整数是 8,它只出现了一次,所以答案是 8

示例 2:

输入:[9,9,8,8]
输出:-1
解释: 
数组中不存在仅出现一次的整数。

核心代码

class Solution:
    def largestUniqueNumber(self, nums: List[int]) -> int:
        from collections import Counter
        dict = Counter(nums)
        res = -1
        for key,val in dict.items():
            if val == 1:
                res = max(res,key)
        return res

image.png

解题思路:我们借助Counter统计形成字典,保存出现一次的数值为历史最佳。