列表

详情


2496. 数组中字符串的最大值

一个由字母和数字组成的字符串的  定义如下:

给你一个字符串数组 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 。

 

提示:

原站题解

去查看

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

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])

上一题