檢查 Python 中數字的所有數字頻率是否相同


假設我們有一個數字 num,我們需要檢查它是否平衡。當所有數字的頻率都相同或不同時,數字是平衡的。

因此,如果輸入類似於 num = 562256,則輸出將為 True,因為每個數字的頻率為 2。

為了解決這個問題,我們將遵循以下步驟:

  • number := 將 num 轉換為字串
  • freq := 包含 number 數字頻率的對映
  • freq_values := 透過獲取 number 的所有數字頻率值建立一個新的集合
  • 如果 freq_values 的大小為 1,則
    • 返回 True
  • 返回 False

讓我們看看下面的實現以更好地理解:

示例程式碼

線上演示

from collections import defaultdict

def solve(num):
   number = str(num)
 
   freq = defaultdict(int)
   n = len(number)
 
   for i in range(n):
      freq[int(number[i])] += 1
 
   freq_values = set(freq.values())
 
   if len(freq_values) == 1:
      return True
   return False
   
num = 562256
print(solve(num))

輸入

562256

輸出

True

更新於:2021年1月15日

1K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.