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

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

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

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextLine()) {
            String inputStr = in.nextLine();
            inputStr += "A";
            int maxLen = 1;
            int left = 0;
            List<String> results = new ArrayList<>();
            while (left < inputStr.length() - 1) {
                if (!Character.isDigit(inputStr.charAt(left))) {
                    left++;
                    continue;
                }
                for (int right = left + 1; right < inputStr.length(); right++) {
                    if (!Character.isDigit(inputStr.charAt(right))) {
                        if (right - left > maxLen) {
                            maxLen = right - left;
                            results.clear();
                            results.add(inputStr.substring(left, right));
                        } else  if (right  - left == maxLen) {
                            results.add(inputStr.substring(left, right));
                        }
                        left = right + 1;
                    }
                }
            }
            StringJoiner joiner = new StringJoiner("");
            for (String str : results) {
                joiner.add(str);
            }
            System.out.println(joiner.toString() + "," + maxLen);
        }
    }}

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 12:05
点赞 评论 收藏
分享
酷酷我灵儿帅:这去不去和线不线下面说实话没啥关系
点赞 评论 收藏
分享
06-26 17:24
已编辑
宁波大学 golang
迷失西雅图:别给,纯kpi,别问我为什么知道
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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