leetcode-python-1796字符串中第二大的数字

题目:

给你一个混合字符串 s ,请你返回 s 中 第二大 的数字,如果不存在第二大的数字,请你返回 -1 。

混合字符串 由小写英文字母和数字组成。

示例 1:

输入:s = "dfa12321afd"

输出:2

解释:出现在 s 中的数字包括 [1, 2, 3] 。第二大的数字是 2 。

示例 2:

输入:s = "abc1111"

输出:-1

解释:出现在 s 中的数字只包含 [1] 。没有第二大的数字。

提示:

1 <= s.length <= 500

s 只包含小写英文字母和(或)数字。

思路:

a.设定两个变量first和second,表示字符串中最大的数字和第二大的数字

b.遍历字符串,如果当前字符为数字,则判断是否大于first,若大于,则当前数字为最大数字,若当前数字大于second小于first,则当前数字为第二大的数字,其他情况则不操作。

c.返回second(即返回第二大数字)

解答:

python 复制代码
class Solution:
    def secondHighest(self, s: str) -> int:
        first = second = -1
        for item in s:
            if item.isdigit():
                num = int(item)
                if num > first:
                    second = first
                    first = num
                elif second < num < first:
                    second = num
        return second
相关推荐
小郑加油1 分钟前
python学习Day11:认识与创建CSV文件
开发语言·python·学习
做cv的小昊1 分钟前
【TJU】研究生应用统计学课程笔记(6)——第二章 参数估计(2.4 区间估计)
人工智能·笔记·线性代数·算法·机器学习·数学建模·概率论
Pkmer3 分钟前
Java程序员大战Python面向对象
python·ai编程
普贤莲花9 分钟前
【2026年第18周---写于20260501】---舍得
程序人生·算法·leetcode
2zcode9 分钟前
基于深度学习的口腔疾病图像识别系统(UI界面+改进算法+数据集+训练代码)
人工智能·深度学习·算法
小龙报9 分钟前
【Coze-AI智能体平台】低代码省时高效:Coze 应用开发全流程指南
java·人工智能·python·深度学习·低代码·chatgpt·交互
技术钱10 分钟前
LCEL表达式与Runnable可运行协议
python
Echo_NGC223713 分钟前
【论文解读】Attention Is All You Need —— AI 时代的“开山之作“,经典中的经典(transformer小白导读)
人工智能·python·深度学习·神经网络·机器学习·conda·transformer
Sarvartha18 分钟前
N 个字符串最长公共子序列(LCS)求解问题
数据结构·算法