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

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

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

简单哩。

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;

public class Main {

    public static String getLongestDigitStr(String str) {
        int max = 0;
        char[] cs = str.toCharArray();
        Map<String, Integer> sm = new LinkedHashMap<>();
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < cs.length; i++) {
            int t = 0;
            sb.setLength(0);
            for (int j = i; j < cs.length && cs[j] <= '9' && cs[j] >= '0'; j++) {
                sb.append(cs[j]);
                t++;
            }
            if (max <= t){
                max = t;
                sm.put(sb.toString(), max);
            }
        }
        sb.setLength(0);
        for (String s : sm.keySet()) {
            if (sm.get(s) == max){
                sb.append(s);
            }
        }
        return sb+","+max;
    }

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNext()) {
            String str = scan.next();
            System.out.println(getLongestDigitStr(str));
        }
    }
}

全部评论

相关推荐

我不行了,我真过不了第二关
码农索隆:嘿,哥们连界面都进去去,更别提玩了
点赞 评论 收藏
分享
09-17 19:25
已编辑
太原理工大学 游戏测试
叁六玖:公司名发我,我要这个HR带我打瓦
我的秋招日记
点赞 评论 收藏
分享
09-02 11:14
已编辑
四川大学 Java
吴offer选手:这种面试是最烦的,学不到东西,然后还被挂的莫名其妙。之前看到一种说法是面试官如果不想要你了,就会问一些很简单的问题,防止你举报他
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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