字符串中取出n个字符后剩下的字符组成的最小的数(不改变字符顺序)

public class Main {
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            String str = in.next();
            int n = Integer.parseInt(in.next());
            int L = 0;
            int R = n;
            StringBuilder sb = new StringBuilder();
            while(R < str.length()){
                int index = findMin(str, L, R);
                sb.append(String.valueOf(str.charAt(index)));
                L = index+1;
                R++;
            }
            System.out.println(sb.toString());
        }
    }

    public static int findMin(String s, int L, int R){
        char min = '9';
        int index = 0;
        for(int i=R; i>=L; i--){
            if(s.charAt(i) <= min){
                index = i;
                min = s.charAt(i);
            }
        }
        return index;
    }
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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