使用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

    回到顶部