Java写题解的第6天 | #在字符串中找出连续最长的数字串#

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

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

解题思路:模拟

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String s = "";
        while ((s = br.readLine()) != null) {
            List<String> list = new ArrayList<>();
            int maxLen = 0;
            int left = 0;
            while (left < s.length()) {
                if (Character.isDigit(s.charAt(left))) {
                    StringBuilder sb = new StringBuilder();
                    while (left < s.length() && Character.isDigit(s.charAt(left))) {
                        sb.append(s.charAt(left));
                        left++;
                    }
                    if (sb.length() == maxLen) {
                        list.add(sb.toString());
                    } else if (sb.length() > maxLen) {
                        list.clear();
                        maxLen = sb.length();
                        list.add(sb.toString());
                    }
                } else {
                    left++;
                }
            }
            StringBuilder sb2 = new StringBuilder();
            for (int i = 0; i < list.size(); i++) {
                sb2.append(list.get(i));
            }
            System.out.println(sb2.toString() + "," + list.get(0).length());
        }
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
吴offer选手:HR:我KPI到手了就行,合不合适关我什么事
点赞 评论 收藏
分享
05-26 10:24
门头沟学院 Java
qq乃乃好喝到咩噗茶:其实是对的,线上面试容易被人当野怪刷了
找工作时遇到的神仙HR
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 15:58
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

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