蓝桥杯删除字符

题目描述
给定一个单词,请问在单词中删除 tt 个字母后,能得到的字典序最小的单词是什么?

输入描述
输入的第一行包含一个单词,由大写英文字母组成。

第二行包含一个正整数 tt。

其中,单词长度不超过 100100,tt 小于单词长度。
蓝桥杯删除字符_第1张图片

运行限制
最大运行时间:1s
最大运行内存: 128M

其实这道题目的意思是从前n个中找出最小的字符,然后删除n+1个字符,再这个最小的字符和后面的字符连接起来。

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        //输入字符
        String str = scanner.next();
        //输入数字
        int number = scanner.nextInt();

        CharSequence preStr = str.subSequence(0, number+1);

        //取出前n个字符中最小的字符
        char minAlp = findMinChar(preStr);

        String hostStr = str.substring(number + 1, str.length());

        System.out.println(minAlp + hostStr);


    }

    private static char findMinChar(CharSequence preStr) {
        char minAlp = preStr.charAt(0);
        for (int i = 1; i < preStr.length(); i++) {
            if(preStr.charAt(i) < minAlp){
                minAlp = preStr.charAt(i);
            }
        }
        return minAlp;
    }
}

你可能感兴趣的:(蓝桥杯,蓝桥杯,leetcode,职场和发展)