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

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

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);
    }
}

全部评论

相关推荐

hso_:哈哈哈哈哈哈我没offer一样在同一道题开喷了
投递深圳同为数码等公司10个岗位
点赞 评论 收藏
分享
字节 飞书绩效团队 (n+2) * 15 + 1k * 12 + 1w
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务