【发布时间】:2019-12-12 03:54:43
【问题描述】:
给定一个整数,可以是 10 的 18 次方,我们必须用零替换所有连续的重复数字。
我尝试过将整数转换为字符串,但是从整数到字符串的类型转换需要很多时间。有什么方法可以在不将其转换为字符串的情况下执行该功能。我的代码通过将整数转换为字符串 -:
def replace(l):
l1 = str(l)
s = l1[0]
temp = s[0]
for i in range(1, len(l1)):
if l1[i] == temp:
s += '0'
else:
s += l1[i]
temp = l1[i]
l = int(s)
return l
示例-:设整数为 1222433444
预期输出 -: 1200430400
【问题讨论】:
-
如果你不需要超过 10^18,你可以使用 int64。
-
我刚刚检查过了。如果这是真的“大到 10 的 18 次方”,那么您绝对应该使用 int64。好吧,它是用 C++ 标记的。在 Python 中,这无关紧要。它可以处理大量数字没问题。
标签: python python-3.x type-conversion