用于检查我们是否可以在 Python 中获取数字对和任意数量的数字三元组的程序
假设我们有一个数字字符串s。我们必须检查是否有某种安排可以让一对相同的字符和字符串的其余部分形成任意数量的相同字符的三元组。
因此,如果输入类似于s="21133123",那么输出将是True,因为有两个2将"22"组成一对,将"111"、"333"组成两个三元组。
示例
让我们看下面的实现来更好地理解
from collections import Counter
def solve(s):
d = Counter(s)
for k in d:
d[k] -= 2
if all(d[i] % 3 == 0 for i in d):
return True
d[k] += 2
return False
s = "21133123"
print(solve(s))输入
"21133123"输出结果
True