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

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

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

import java.util.List;
import java.util.ArrayList;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            String a = in.nextLine();
            getMaxNum(a);
        }
    }

    private static void getMaxNum(String s1) {
        List<String> list = new ArrayList<>();
        StringBuilder sb = new StringBuilder();
        int max = 0;
        for (int i = 0; i < s1.length(); i++) {
            if (Character.isDigit(s1.charAt(i))) {
                sb.append(s1.charAt(i));
            }

            if (!Character.isDigit(s1.charAt(i)) || i == s1.length() - 1) {
                list.add(sb.toString());
                max = Math.max(max, sb.length());
                sb.setLength(0);
            }
        }
        for (String str : list) {
            if (str.length() == max) {
                System.out.print(str);
            }
        }
        System.out.println("," + max);
    }
}

全部评论

相关推荐

头像
10-15 22:27
已编辑
门头沟学院 C++
罗格镇的小镇做题家:我投了hr打电话来说学历太低了不符合要求,建议投荣耀,结果荣耀也投了一定水花没有,非本211硕
投递华为等公司10个岗位
点赞 评论 收藏
分享
09-25 10:34
东北大学 Java
多面手的小八想要自然醒:所以读这么多年到头来成为时代车轮底下的一粒尘
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务