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

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

http://www.nowcoder.com/questionTerminal/2c81f88ecd5a4cc395b5308a99afbbec

无须使用正则表达式

import java.util.*;

public class Main {

    public Main() {
    }

    public int continumax(List<String> pOutputstr,  String intputstr) {
        int max = 0 ;
        StringBuilder s = new StringBuilder();
        for (int i = 0; i < intputstr.length(); i++) {
            // 找出连续最长数字串
            if (intputstr.charAt(i) >= '0' && intputstr.charAt(i) <= '9') {
                while (i < intputstr.length() && intputstr.charAt(i) >= '0' && intputstr.charAt(i) <= '9') {
                    s.append(intputstr.charAt(i++));
                }
                max = Math.max(max, s.length());
                pOutputstr.add(s.toString());
                s.setLength(0);
            }
        }
        // 移除短的数字串
        for (int i = 0; i < pOutputstr.size(); i++) {
            if (pOutputstr.get(i).length() < max) {
                pOutputstr.remove(i);
                i--;
            }
        }
        return max;
    }

    public static void main(String[] args) {
        Main solution = new Main();
        Scanner in = new Scanner(System.in);
        while (in.hasNextLine()) {
            String pInStr = in.nextLine();
            List<String> pOutputstr = new LinkedList<>();
            int res = solution.continumax(pOutputstr, pInStr);
            for (String str : pOutputstr) {
                System.out.print(str);
            }
            System.out.println("," + res);
        }

    } 
}
全部评论

相关推荐

找不到工作死了算了:没事的,雨英,hr肯主动告知结果已经超越大部分hr了
点赞 评论 收藏
分享
我是小红是我:学校换成中南
点赞 评论 收藏
分享
2 1 评论
分享
牛客网
牛客企业服务