题解 | #公共子串计算#

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

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

只是简单模拟一遍的代码

import java.util.*;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        while(sc.hasNextLine()) {
            String str = sc.nextLine();
            int len = str.length();
            
            List<String> list = new ArrayList<>();
            for (int i=0; i<len; i++) {
                if (str.charAt(i) >= '0' && str.charAt(i) <= '9') {
                    int l = i;
                    int r = i;
                    while (i < len && (str.charAt(i) >= '0' && str.charAt(i) <= '9')) {
                        r = i;
                        i++;
                    }
                    //i--;
                    list.add(str.substring(l,r+1));
                }
            }
            
            int max = list.get(0).length();
            for (String lists : list) {
                if (lists.length() > max) {
                    max = lists.length();
                }
            }
            
            String ss = "";
            for (String lists : list) {
                if (lists.length() == max) {
                    ss += lists;
                } 
            }
            
            System.out.println(ss + "," + max);
        }
    }
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务