class Solution {
public:
int maximumValue(vector<string>& strs) {
}
};
2496. 数组中字符串的最大值
一个由字母和数字组成的字符串的 值 定义如下:
10
进制下的所表示的数字。给你一个字符串数组 strs
,每个字符串都只由字母和数字组成,请你返回 strs
中字符串的 最大值 。
示例 1:
输入:strs = ["alic3","bob","3","4","00000"] 输出:5 解释: - "alic3" 包含字母和数字,所以值为长度 5 。 - "bob" 只包含字母,所以值为长度 3 。 - "3" 只包含数字,所以值为 3 。 - "4" 只包含数字,所以值为 4 。 - "00000" 只包含数字,所以值为 0 。 所以最大的值为 5 ,是字符串 "alic3" 的值。
示例 2:
输入:strs = ["1","01","001","0001"] 输出:1 解释: 数组中所有字符串的值都是 1 ,所以我们返回 1 。
提示:
1 <= strs.length <= 100
1 <= strs[i].length <= 9
strs[i]
只包含小写英文字母和数字。原站题解
golang 解法, 执行用时: 0 ms, 内存消耗: 2.1 MB, 提交时间: 2022-12-14 10:44:34
func maximumValue(strs []string) (ans int) { for _, s := range strs { x, err := strconv.Atoi(s) if err != nil { x = len(s) } ans = max(ans, x) } return } func max(a, b int) int { if b > a { return b }; return a }
python3 解法, 执行用时: 32 ms, 内存消耗: 14.9 MB, 提交时间: 2022-12-14 10:44:12
class Solution: def maximumValue(self, strs: List[str]) -> int: ans = 0 for s in strs: try: x = int(s) except: x = len(s) ans = max(ans, x) return ans
python3 解法, 执行用时: 36 ms, 内存消耗: 15.1 MB, 提交时间: 2022-12-14 10:43:27
class Solution: def maximumValue(self, strs: List[str]) -> int: return max([int(s) if s.isdigit() else len(s) for s in strs])