使用Python查找字符串中不同整数的数量的程序
假设我们有一个小写字母数字字符串 s。我们必须用空格替换每个非数字字符,但现在我们剩下一些整数,这些整数至少用一个空格分隔。在对 s 执行替换操作后,我们必须找到不同整数的数量。如果没有任何前导零的十进制表示不同,则这里两个数字被认为是不同的。
因此,如果输入类似于 s = "ab12fg012th5er67",那么输出将是 3,因为现在很少有数字 ["12", "012", "5", "67"] 现在是 "12" 和 "012"字符串不同但与整数相同。所以有三个不同的数字。
为了解决这个问题,我们将按照以下步骤操作 -
nums := 一个新列表
k := 空字符串
对于范围 0 到 s 大小的 i,请执行
如果 k 不是空字符串,则
在 nums 的末尾插入 k 的整数形式
k := 空字符串
k := k 连接 s[i]
如果 s[i] 的 ASCII > 47 和 s[i] 的 ASCII < 58,则
否则,
如果 k 不是空字符串,则
在 nums 的末尾插入 k 的整数形式
返回 nums 中不同元素的计数
让我们看看以下实现以获得更好的理解 -
示例
def solve(s):nums = []
k = ""
for i in range(len(s)):
if ord(s[i]) > 47 and ord(s[i]) < 58:
k += s[i]
else:
if(k != ""):
nums.append(int(k))
k = ""
if(k != ""):
nums.append(int(k))
return len(set(nums))
s = "ab12fg012th5er67"
print(solve(s))
输入
"ab12fg012th5er67"输出结果
3
以上是 使用Python查找字符串中不同整数的数量的程序 的全部内容, 来源链接: utcz.com/z/359108.html