列表

详情


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

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

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

 

示例 1:

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

示例 2:

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

 

提示:

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: int secondHighest(string s) { } };

golang 解法, 执行用时: 0 ms, 内存消耗: 2.3 MB, 提交时间: 2021-06-24 10:40:09

func secondHighest(s string) int {
    ans := [10]int{}
    for i := range s {
        if s[i] >= '0' && s[i] <= '9' {
            ans[s[i]-'0']++
        }
    }
    first, second := -1, -1
    for i := 0; i <= 9; i++ {
        if ans[i] > 0 && i > first {
            first, second = i, first
        }
    }
    return second
}

上一题