LeetCode开心刷题四十七天——比赛试题

1207. Unique Number of Occurrences

 
  • User Accepted:3828
  • User Tried:3899
  • Total Accepted:3925
  • Total Submissions:5005
  • Difficulty:Easy

Given an array of integers arr, write a function that returns true if and only if the number of occurrences of each value in the array is unique.

Example 1:

Input: arr = [1,2,2,1,1,3]
Output: true
Explanation: The value 1 has 3 occurrences, 2 has 2 and 3 has 1. No two values have the same number of occurrences.

Example 2:

Input: arr = [1,2]
Output: false

Example 3:

Input: arr = [-3,0,1,-3,1,1,1,-3,10,0]
Output: true

Constraints:

  • 1 <= arr.length <= 1000
  • -1000 <= arr[i] <= 1000

BONUS:

1.dict.get 如果有key返回key,没有返回括号后面的,所以代码的意思是。如果有这个键就加一,没有就是1

2.把剩下的数值压入集合,对key值遍历,在其中出现,返回false,否则true

class Solution(object):
    def uniqueOccurrences(self, arr):
        """
        :type arr: List[int]
        :rtype: bool
        """
        dict = {}
        for key in arr:
            dict[key] = dict.get(key, 0) + 1
        values = set()
        for key in dict.keys():
            val = dict[key]
            if val in values:
                return False
            else:
                values.add(val)
        return True
扫描二维码关注公众号,回复: 7389837 查看本文章

猜你喜欢

转载自www.cnblogs.com/Marigolci/p/11607492.html
今日推荐