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
相关推荐
love530love9 分钟前
EPGF 架构下的 Python 环境变量设置建议——Anaconda 路径精简后暴露 python 及工具到环境变量的配置记录 [三]
开发语言·人工智能·windows·python·架构·conda·epgf 架构
KWTXX1 小时前
【国二】C语言-部分典型真题
java·c语言·算法
Q_Q5110082851 小时前
python+springboot毕业季旅游一站式定制服务系统
java·spring boot·python·django·flask·node.js·旅游
摩羯座-185690305942 小时前
VVIC 平台商品详情接口高效调用方案:从签名验证到数据解析全流程
java·前端·数据库·爬虫·python
lucialeia2 小时前
leetcode (4)
算法·leetcode
永远有多远.2 小时前
【CCF-CSP】第39次CSP认证前三题
算法
墨染点香3 小时前
LeetCode 刷题【90. 子集 II】
算法·leetcode·职场和发展
我是华为OD~HR~栗栗呀3 小时前
华为od-前端面经-22届非科班
java·前端·c++·后端·python·华为od·华为
用什么都重名4 小时前
不同版本tensorflow推理报错解决方法
人工智能·python·tensorflow·librosa
reasonsummer5 小时前
【办公类-109-05】20250923插班生圆牌卡片改良01:一人2个圆牌(接送卡&被子卡&床卡&入园卡_word编辑单面)
人工智能·python·sklearn