class Solution {
public:
int secondHighest(string s) {
}
};
1796. 字符串中第二大的数字
给你一个混合字符串 s
,请你返回 s
中 第二大 的数字,如果不存在第二大的数字,请你返回 -1
。
混合字符串 由小写英文字母和数字组成。
示例 1:
输入:s = "dfa12321afd" 输出:2 解释:出现在 s 中的数字包括 [1, 2, 3] 。第二大的数字是 2 。
示例 2:
输入:s = "abc1111" 输出:-1 解释:出现在 s 中的数字只包含 [1] 。没有第二大的数字。
提示:
1 <= s.length <= 500
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 }