题解 | #在字符串中找出连续最长的数字串#

在字符串中找出连续最长的数字串

https://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec

import java.util.*; 
import java.io.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try {
            String s=null;
            while ( (s = br.readLine())!=null){
                int count=0,max=0;
                Map<Integer,String> treeMap = new TreeMap();
                for (int i = 0; i < s.length(); i++) {
                    if(Character.isDigit(s.charAt(i))){
                        count++;
                        if(max <= count){
                            String substring = s.substring(i-count+1, i + 1);
                            max = count;
                            treeMap.put(max,treeMap.getOrDefault(max,"")+substring);
                        }
                    }else {
                        count=0;
                    }
                }
                int a=0;
                String s1=null;
                for (Integer integer : treeMap.keySet()) {
                    s1 = treeMap.get(integer);
                    a=integer;
                }
                System.out.println(s1+","+a);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务