在Python中检查数字中所有数字的频率是否相同
假设我们有一个数字num我们必须检查是否平衡。当所有数字的频率相同或不同时,一个数字是平衡的。
因此,如果输入类似于num=562256,则输出将为True,因为每个数字的频率为2。
为了解决这个问题,我们将按照以下步骤操作-
number:=将num转换为字符串
freq:=包含数字数字频率的映射
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