"""
第二大
给定一个混合字符串,找出字符串中第二大的数字
如果不存在第二大的数字,返回-1.
混合字符串由小写英文字母和数字组成。
"""
def second_number(s):
"""
寻找字符串s中第二大的数字。
参数:
s (str): 输入的字符串,可能包含数字和非数字字符。
返回:
int: 字符串s中第二大的数字,如果不存在则返回-1。
"""
# 初始化两个变量,用于记录第一大和第二大的数字
first = -1
second = -1
# 遍历字符串中的每个字符
for char in s:
# 判断字符是否为数字
if char.isdigit():
num = int(char)
# 如果当前数字大于已记录的第一大数字
if num > first:
# 将原第一大数字更新为第二大数字
second = first
# 更新新的第一大数字
first = num
# 如果当前数字大于已记录的第二大数字且不等于第一大数字
elif num > second and num != first:
# 更新第二大数字
second = num
# 返回第二大数字
return second
print(second_number('a1b2c3d4e5'))
评论前必须登录!
注册