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