Python程序检查每个值的出现次数是否唯一


假设我们有一个数字列表nums(正数或负数),我们需要检查数组中每个值的出现次数是否唯一。

因此,如果输入类似于nums = [6, 4, 2, 9, 4, 2, 2, 9, 9, 9],则输出将为True,因为6出现1次,4出现2次,2出现3次,9出现4次。所以所有出现次数都是唯一的。

为了解决这个问题,我们将遵循以下步骤:

  • num_counts := 一个新的映射,其中存储所有值及其出现次数

  • occurrences := num_counts的所有值的列表

  • 当occurrences的大小与occurrences中唯一元素的数量相同时返回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

更新于:2020年10月21日

200 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.