如果我有一个像这样的数字:
1234567899
or
1999234567
or
1294597890
or
9234967890
我想在数字中多次出现一个数字时打印“测试”。
答案 0 :(得分:0)
您可以将整数转换为字符串,这将允许一个一个地处理其字符。然后,您可以使用set
来跟踪可见的数字。
对于非常大的数字,这将比计算数字效率更高,因为可以确保它总是在第11个数字之前返回。
def has_duplicate_digit(x):
digits = set()
for d in str(x):
if d in digits:
return True
digits.add(d)
return False
print(has_duplicate_digit(123)) # False
print(has_duplicate_digit(11)) # True