美文网首页
【每日3题(1)】字符串中第二大的数字

【每日3题(1)】字符串中第二大的数字

作者: 程序员小2 | 来源:发表于2022-07-03 09:27 被阅读0次

题目:

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

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

示例 1:

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

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

提示:

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

思路:

此题比较简单,直接遍历,用两个变量记录第1大和第2大的数即可。

java代码:

class Solution {
    public int secondHighest(String s) {
        int firstMax = -1;
        int secondMax = -1;

        for(int i=0;i<s.length();i++) {
            char ch = s.charAt(i);
            if('0'<=ch && ch<='9') {
                int num = ch-'0';
                if(firstMax<num) {
                    secondMax = firstMax;
                    firstMax = num;
                }else if(firstMax>num && secondMax<num) {
                    secondMax = num;
                }
            }
        }
        return secondMax;

    }
}

相关文章

  • 【每日3题(1)】字符串中第二大的数字

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

  • 基础算法题

    1. 字符串翻转 2. 数组中第二大的数字

  • py基础-2

    每日一分享 1.数据类型(1)数字 (2)字符串 (3) 字符串切片 (4) 字符串拼接 (5) 列表 6.浅co...

  • 有用的前端代码片段收集

    1、数组深复制 2、去除字符串的空格 3、找出字符串中的数字,并将其转化为数组(1) (2) (3)利用正则 4、...

  • NSString处理-会陆续更新

    1.用正则表达式截取 字符串中的数字。代码如下 1.过滤掉不是数字的字符串 2. 去除空格 3. 判断字符串是否为空

  • 常见的Shell操作

    数组 数组的遍历 1、for循环 2、for in 3、while 循环 字符串 字符串转数字、数字转字符串 分割...

  • ( ☉_☉)≡☞o────★°

    1、数字+字符串: 将数字转换为字符串 2、数字+boolean: 将boolean转换为number类型 3、数...

  • 2018.7.14隐式转换结论

    1、数字+字符串: 将数字转换为字符串 2、数字+boolean: 将boolean转换为number类型 3、数...

  • Java自学-数字与字符串 字符串转换

    Java中把数字转换为字符串,字符串转换为数字 步骤 1 : 数字转字符串 方法1: 使用String类的静态方法...

  • 字符串处理的方法

    1、字符串合并操作:“ + ”2、parseInt() 将数字字符串转化为整数3、parseFloat() 将数字...

网友评论

      本文标题:【每日3题(1)】字符串中第二大的数字

      本文链接:https://www.haomeiwen.com/subject/hllavrtx.html