使用 Python 找出字符串中的第二大数字这一程序


假设我们有一个字母数字字符串 s,我们必须在 s 中找到出现的第二大数字,如果没有这样的字符串,则返回 -1。

因此,如果输入为 s = "p84t3ho1n",则输出为 4,因为数字为 [1,3,4,8],因此第二大数字为 4。

为了解决这个问题,我们将遵循以下步骤:

  • lst := 一组新的集合

  • 对于 s 中的每个字母,执行以下操作

    • 如果字母不是字母,则

      • 将字母作为整数插入到 lst

  • 如果 lst 大小 <= 1,则

    • 返回 -1

  • 返回对 lst 进行排序后的倒数第二个元素

让我们看看以下实现,以获得更好的理解:

示例

 现场演示

def solve(s):
   lst = set()
   for let in s:
      if not let.isalpha():
         lst.add(int(let))
   if len(lst) <= 1:
         return -1
   return sorted(list(lst))[len(lst) - 2]
s = "p84t3ho1n"
print(solve(s))

输入

"hello", "hlelo"

输出

True

更新日期: 2021 年 5 月 29 日

788 次浏览

开启你的 职业生涯

完成本课程,获得认证

开始
广告