给定一个包含大写英文字母和数字的句子,找出这个句子所包含的最大的十六进制整数,返回这个整数的值。数据保证该整数在int表示范围内

给定一个包含大写英文字母和数字的句子,找出这个句子所包含的最大的十六进制整数,返回这个整数的值。数据保证该整数在int表示范围内 

import java.util.*;


public class Solution {
    /**
     * 
     * @param s string字符串 
     * @return int整型
     */
    public int solve (String s) {
        // write code here
        int begin=0;
        int end=0;
        int len=s.length();
        int res=0;
        //结束条件
        //i为字符遍历下标
        for(int i=0;end<len;i++){
            //只保留合法16进制字符 
            if(s.charAt(i)>='A'&&s.charAt(i)<='F' || s.charAt(i)>='0'&&s.charAt(i)<='9'){
                end++;
                res=Math.max(Integer.parseInt(s.substring(begin,end),16),res);
            }
            //非法字符 重新开始
            else{
                begin=i+1;
                end=begin;
            }
        }
        return res;
    }
}

 

相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页