​力扣解法汇总1796. 字符串中第二大的数字

news/2024/7/7 19:45:18

目录链接:

力扣编程题-解法汇总_分享+记录-CSDN博客

GitHub同步刷题项目:

https://github.com/September26/java-algorithms

原题链接:力扣


描述:

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

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

示例 1:

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

示例 2:

输入:s = "abc1111"
输出:-1
解释:出现在 s 中的数字只包含 [1] 。没有第二大的数字。

提示:

  • 1 <= s.length <= 500
  • s 只包含小写英文字母和(或)数字。

解题思路:

* 解题思路:
* 用maxNum和max2Num记录最大和第二大的数字,
* 依次遍历,如果value大于maxNum,则更新maxNum和max2Num,
* 如果value等于maxNum,则跳过,
* 如果value > max2Num,则只更新max2Num即可。
 

代码:

public class Solution1796 {

    public int secondHighest(String s) {
        int maxNum = -1;
        int max2Num = -1;
        char[] chars = s.toCharArray();
        for (char c : chars) {
            if (c < '0' || c > '9') {
                continue;
            }
            int value = c - '0';
            if (value > maxNum) {
                max2Num = maxNum;
                maxNum = value;
                continue;
            }
            if (value == maxNum) {
                continue;
            }
            if (value > max2Num) {
                max2Num = value;
            }
        }
        return max2Num;
    }
}


http://lihuaxi.xjx100.cn/news/315929.html

相关文章

微服务框架 SpringCloud微服务架构 16 SpringAMQP 16.9 消息转换器

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构16 SpringAMQP16.9 消息转换器16.9.1 一个案例16.9.2 消息转换器16.9.3 总…

Word控件Spire.Doc 【图像形状】教程(11): 如何在 C# 中为 Word 中的图像设置 Transeperant 颜色

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

01 - Linux系统概要(再论计算机系统)

---- 整理自狄泰软件唐佐林老师课程 1. 再论计算机系统 计算机系统由躯体和灵魂两部分组成 – 躯体&#xff1a;构成计算机系统的电子设备&#xff08;硬件&#xff09; – 灵魂&#xff1a;指挥躯体完成动作的指令序列&#xff08;软件&#xff09; 躯体核心&#xff1a;中央…

何为面向对象的编程思想

https://blog.csdn.net/sq_201067/article/details/8907817 前言&#xff1a;整理这份资料的目的是为了帮助朋友们能够更直观的理解面向对象的编程。让后来者能够少走一些弯路。但其中不免有许多漏洞及错误&#xff0c;也还请前辈提出宝贵的更改意见&#xff0c;毕竟交流会让我…

微服务的好处(优点)有哪些?

显然&#xff0c;随着系统复杂度的提升&#xff0c;以及对系统扩展性的要求越来越高&#xff0c;微服务化是一个很好的方向&#xff0c;但除此之外&#xff0c;微服务还会给我们带来哪些好处&#xff1f; 独立&#xff0c;独立&#xff0c;还是独立 我们说微服务打响的是各自…

C++ 复制构造函数

在讲解 C 的复制构造函数之前这里先明确一个概念&#xff0c;C 的复制构造函数的意思并不是字面上的意思复制一个构造函数&#xff0c;而是有一种专门用于复制内容的构造函数被叫做复制构造函数。 复制构造函数对于 C 来说是非常重要的概念&#xff0c;所以我们必须掌握并牢记…

java中对象存在形式

本文主要讲述jvm中对象的存储形式:class Cat{String name;int age;String color;// 行为}依据Cat类创建对象public class Object01 {public static void main(String[] args) {// 使用类与对象Cat cat = new Cat();cat.name = "小白";cat.age = 12;cat.color = "…

【Rust日报】2022-12-04 比较 u64 与比较字符串的性能

Anansi 0.7&#xff0c;一个简单的全栈网络框架引入了reactivity和 WebAssembly 支持。https://saru-tora.github.io/anansi/OpenAI 的异步 Rust 库各位 Rustaceans&#xff0c;我今年一直在写 Rust&#xff0c;很高兴分享我的第二个crate https://github.com/64bit/async-open…