题目出处点这里
思路见代码:
package greedy;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class P1106 {
static ArrayList<Integer> arr = new ArrayList<Integer>();
static String res = "";
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
BigInteger bi = sc.nextBigInteger();
String s = String.valueOf(bi);
int k = sc.nextInt();
for (int i = 0; i < s.length(); i++) {
arr.add(Integer.parseInt(String.valueOf(s.charAt(i))));
}
Collections.sort(arr);
int rest = arr.size() - k;
for (int i = 0; i < rest; i++) {
int index = 0;
for (int j = 0; j < arr.size(); j++) {
index = s.indexOf(String.valueOf(arr.get(j)));
if (index <= k && index != -1) {
res = res + String.valueOf(s.charAt(index));
k = k - index;
break;
}
}
if (index != s.length() - 1) {
s = s.substring(index + 1);
}
}
System.out.println(Integer.parseInt(res));
}
}