假设我们有一个数字列表(正数或负数),我们必须检查数组中每个值的出现次数是否唯一。
因此,如果输入类似于nums = [6、4、2、9、4、2、2、9、9、9、9],那么输出将为True,因为1出现6,2出现4 ,3个出现的2个和4个出现的9个。因此,所有出现的次数都是唯一的。
为了解决这个问题,我们将遵循以下步骤-
num_counts:=一个新的映射,其中存储了所有值和该值的出现次数
出现次数:= num_counts个所有值的列表
如果出现的大小与出现的唯一元素的数量相同,则返回True,否则返回false
让我们看下面的实现以更好地理解-
from collections import Counter class Solution: def solve(self, nums): num_counts = dict(Counter(nums)) occurrences = num_counts.values() return len(occurrences) == len(set(occurrences)) ob = Solution()nums = [6, 4, 2, 9, 4, 2, 2, 9, 9, 9] print(ob.solve(nums))
[6, 4, 2, 9, 4, 2, 2, 9, 9, 9]
输出结果
True