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

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

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

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

public class Main{
    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str;
        while((str = br.readLine()) != null){
            // 输出结果
            System.out.println(longestNum(str));
        }
    }

    
    private static String longestNum(String str){
        String s = str;
      // 创建StringBuilder对象用于保存结果
        StringBuilder sb = new StringBuilder();
        int i = 0,maxLen = 0;
        while(i < str.length()){
            int j = i;
          // 遇到数字开始while循环
            while(i < str.length() && Character.isDigit(str.charAt(i))){
                i++;
            }
            if(i - j == maxLen){
                sb.append(s.substring(j,i));
            }
            if(i - j > maxLen){
                maxLen = i - j;
                sb = new StringBuilder(s.substring(j,i));
            }
            
            i++;
        }
        return sb.append("," + maxLen).toString();
    }
}
全部评论

相关推荐

Pandaileee:校友加油我现在也只有一个保底太难了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
沉淀一会:1.同学你面试评价不错,概率很大,请耐心等待; 2.你的排名比较靠前,不要担心,耐心等待; 3.问题不大,正在审批,不要着急签其他公司,等等我们! 4.预计9月中下旬,安心过节; 5.下周会有结果,请耐心等待下; 6.可能国庆节前后,一有结果我马上通知你; 7.预计10月中旬,再坚持一下; 8.正在走流程,就这两天了; 9.同学,结果我也不知道,你如果查到了也告诉我一声; 10.同学你出线不明朗,建议签其他公司保底! 11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务