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

news2024/11/24 8:17:30

目录链接:

力扣编程题-解法汇总_分享+记录-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://www.coloradmin.cn/o/62445.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python开发6年,整理的《Python从入门到精通学习笔记》免费下载

前言 首先明确一点&#xff1a;为什么要学习python&#xff1f; 我说几个最主要的。 1.简单易学&#xff0c;入门友好 python其实就是英文句子&#xff0c;你只要能够认识基本的英文单词&#xff0c;你就可以非常熟练地使用python。 &#xff08;文末送读者福利&#xff09…

[附源码]计算机毕业设计水果管理系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

苹果app开发流程详解​

苹果App Store上传应用流程详解&#xff0c;在向AppStore提交应用之前&#xff0c;开发者首先要成为苹果iOS开发者项目的成员&#xff0c;每年向苹果缴纳99美元或199美元的费用&#xff08;具体申请方法后期更新&#xff09;。​ 免688开发IOS应用&#xff0c;根据apple的规定…

信号驱动任务执行(pause、sigsuspend函数)

信号驱动任务指的是通过信号来驱动任务的执行&#xff0c;每发送一次信号&#xff0c;任务就执行一次。实现该目的所需的函数就是 pause 或者 sigsuspend&#xff0c;pause和sigsuspend函数可以暂停当前进程&#xff0c;直至收到信号才会继续运行之后的程序。 目录 1、认识 pa…

实战:kubeadm方式搭建k8s集群(containerd)-2022.12.5(成功测试-超详细)【荐】

实战&#xff1a;kubeadm方式搭建k8s集群(containerd)-2022.12.5(成功测试-超详细)【荐】 写在开头 语雀原文阅读效果最佳&#xff0c;原文地址&#xff1a;实战&#xff1a;kubeadm方式搭建k8s集群(containerd)-2022.12.5(成功测试-超详细)【荐】 语雀 《实战&#xff1a;ku…

Liunx进程间信号

Linux进程间信号 文章目录Linux进程间信号1.信号的理解1.1 对信号的认识1.2 为什么要有信号1.3 信号概念1.4 查看系统定义的信号的方法1.5 信号的处理方式2.产生信号的方法2.1 通过终端按键发送信号2.2 通过系统函数发送信号2.3 通过软件条件发送信号2.4 通过硬件异常发送信号2…

股市资讯天宇优配|政策利好叠加竞争格局向好 机构做多建材板块

近来&#xff0c;受房地产板块上涨带动&#xff0c;建材板块也敞开一轮反弹行情&#xff0c;东方雨虹、三棵树、科顺股份等体现抢眼。在组织看来&#xff0c;房地产职业近期利好政策频出&#xff0c;商场对建材职业后期需求的忧虑将会消解。另一方面&#xff0c;在过去一年多的…

计算机总线详解(数据总线、地址总线、控制总线)

文章目录1 概述2 总线分类2.1 数据总线 Data Bus2.2 地址总线 Address Bus2.3 控制总线 Control Bus3 扩展3.1 常考题3.2 百度百科 - 总线 Bus1 概述 总线&#xff08;Bus&#xff09;是计算机各种功能部件之间传送信息的 公共通信干线如果说 主板&#xff08;Mother Board&am…

Hadoop集群安装和搭建

Hadoop集群安装和搭建 前言    Hadoop是一个开源的、可运行与Linux集群上的分布式计算平台&#xff0c;用户可借助Hadoop存有基础环境的配置&#xff08;虚拟机安装、Linux安装等&#xff09;&#xff0c;Hadoop集群搭建&#xff0c;配置和测试。 一、虚拟机的安装  VMware …

.sqlite后缀文件转为sql文件

第一步 安装sqlite3 1.官网下载 https://www.sqlite.org/download.html &#xff0c;因为我是win64的&#xff0c;需要下载图片这两个安装包 2.将解压下载的安装包 首先创建一个文件夹&#xff0c;比如放在D盘&#xff0c;在D盘创建一个文件目录sqlite,路径最终为D:\sqlit…

二本蒟蒻的带牌退役感言(感谢两年来的acm经历)

TP20年10月20年 - 21年期间22年开始&#xff0c;大二下暑假后&#xff0c;怎么就大三了&#xff0c;时间好快第47届icpc杭州站润~20年10月 一个高考发挥失常的蒟蒻来到了化大。他带着不甘和兴奋走进了大学的殿堂&#xff0c;励志要好好学习天天向上。 可是很快现实就给予了充…

Eolink如何解决API测试痛点

文章目录前言一、API测试的痛点二、eolink可以解决什么&#xff1f;2.1 Eolink是什么&#xff1f;2.2 Eolink可以解决什么&#xff1f;三、环境安装以及实践操作3. 1 下载安装3.2 创建项目四、支持所有自动化接口测试场景4.1 单API接口测试4.2 API变更智能通知4.3 API历史版本对…

Kube-OVN子网

子网是 Kube-OVN 中的一个核心概念和基本使用单元&#xff0c;Kube-OVN 会以子网来组织 IP 和网络配置&#xff0c;每个 Namespace 可以归属于特定的子网&#xff0c; Namespace 下的 Pod 会自动从所属的子网中获取 IP 并共享子网的网络配置&#xff08;CIDR&#xff0c;网关类…

代码随想录刷题Day55 | 392. 判断子序列 | 115. 不同的子序列

代码随想录刷题Day55 | 392. 判断子序列 | 115. 不同的子序列 392. 判断子序列 题目&#xff1a; 给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些&#xff08;也可以不删除&#xff09;字符而不改变剩余字符相对位置形…

阿里又出神作:最新Spring Cloud Alibaba全解手册限时开源,手慢无

有一说一&#xff0c;网上的那些Spring Cloud 学习资料大多是老版本那套东西&#xff0c;学习 Spring Cloud Alibaba 才是目前最正确的姿势&#xff01;Spring Cloud Alibaba 基于 Spring Cloud 构建&#xff0c;提供了对 Alibaba 组件的封装而已&#xff0c;其最顶层的抽象还是…

牛客Top101 JS合并两个排序的列表

描述 输入两个递增的链表&#xff0c;单个链表的长度为n&#xff0c;合并这两个链表并使新链表中的节点仍然是递增排序的。 数据范围&#xff1a; 0 ≤n≤1000&#xff0c;-1000≤节点值≤1000 要求&#xff1a;空间复杂度 O(1)&#xff0c;时间复杂度 O(n) 如输入{1,3,5},{…

[附源码]计算机毕业设计基于Springboot设备运维平台出入库模块APP

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

java面试强基(17)

ArrayList 与 LinkedList 区别? 是否保证线程安全&#xff1a; ArrayList 和 LinkedList 都是不同步的&#xff0c;也就是不保证线程安全&#xff1b;底层数据结构&#xff1a; ArrayList 底层使用的是 Object 数组&#xff1b;LinkedList 底层使用的是 双向链表 数据结构&a…

Vue(第十七课)AXIOS对JSON数据的增删改查

Vue(第十七课)AXIOS对JSON数据的IDUS Vue(第十六课)JSON-SERVE和POSTMAN技术中对数据的增删改查_星辰镜的博客-CSDN博客 get:获取数据,请求指定的信息,返回实体对象post:向指定资源提交数据(例如表单提交或文件上传)put:更新数据,从客户端向服务器传送的数据取代指定的…

Elasticsearch中的语言分析器-IK分词器

IK分词器是一个中文语言的语言分析器,以下为指定使用“IK分词器”的案例: 在Postman中,向ES服务器发送GET请求: http://192.168.1.108:9200/_analyze 请求体里面的内容为(在请求体里指定要分析的文本): {"text":"测试单词" } 调用上述接口后,其…