竞赛题-6261. 数组中字符串的最大值

2022-12-09  本文已影响0人  程序员小2

题目:

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

如果字符串 只 包含数字,那么值为该字符串在 10 进制下的所表示的数字。
否则,值为字符串的 长度 。
给你一个字符串数组 strs ,每个字符串都只由字母和数字组成,请你返回 strs 中字符串的 最大值 。

示例 1:

输入:strs = ["alic3","bob","3","4","00000"]
输出:5
解释:

输入:strs = ["1","01","001","0001"]
输出:1
解释:
数组中所有字符串的值都是 1 ,所以我们返回 1 。

提示:

1 <= strs.length <= 100
1 <= strs[i].length <= 9
strs[i] 只包含小写英文字母和数字。

java代码:

class Solution {
    public int maximumValue(String[] strs) {
        Integer max = Integer.MIN_VALUE;
        for(String s:strs) {
            int value = getValue(s);
            max = Math.max(max, value);
        }
        return max;
    }
    
    private int getValue(String s) {
        boolean flag = true;
        for(int i=0;i<s.length();i++) {
            if(!Character.isDigit(s.charAt(i))) {
                flag = false;
                break;
            }
        }
        if(flag) {
            return Integer.valueOf(s);
        }else {
            return s.length();
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读