美文网首页
1796. 字符串中第二大的数字

1796. 字符串中第二大的数字

作者: 程序员小2 | 来源:发表于2022-12-02 15:53 被阅读0次

    插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。
    坚持不懈,越努力越幸运,大家一起学习鸭~~~

    题目:

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

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

    示例 1:

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

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

    提示:

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

    思路:

    遍历字符, 用Character.isDigit找到数字。 然后用两个变量first, second分别存储第一、第二大的数

    java代码:

    class Solution {
        public int secondHighest(String s) {
            int first = -1, second = -1;
            for (int i = 0; i < s.length(); i++) {
                char c = s.charAt(i);
                if (Character.isDigit(c)) {
                    int num = c - '0';
                    if (num > first) {
                        second = first;
                        first = num;
                    } else if (num < first && num > second) {
                        second = num;
                    }
                }
            }
            return second;
        }
    }
    

    相关文章

      网友评论

          本文标题:1796. 字符串中第二大的数字

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