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.