在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