检查 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

Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.

输出

True

更新于:2021年1月15日

1K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告