Вычеркивание Java
user_7290026
java
2 years ago
1.5 kB
8
Indexable
import java.util.*;
public class Main {
public static int maxNumberAfterRemoving(int n, int d, int k, int num) {
Stack<Character> stack = new Stack<>();
String numStr = Integer.toString(num);
for (char digit : numStr.toCharArray()) {
while (k > 0 && !stack.isEmpty() && stack.peek() - '0' < digit - '0') {
stack.pop();
k--;
}
stack.push(digit);
}
// Если k еще не исчерпано, удаляем оставшиеся k цифр с конца стека
while (k > 0 && !stack.isEmpty()) {
stack.pop();
k--;
}
StringBuilder resultBuilder = new StringBuilder();
for (char digit : stack) {
resultBuilder.append(digit);
}
return Integer.parseInt(resultBuilder.toString());
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Введите n, d, k через пробел: ");
int n = scanner.nextInt();
int d = scanner.nextInt();
int k = scanner.nextInt();
System.out.print("Введите число: ");
int num = scanner.nextInt();
int result = maxNumberAfterRemoving(n, d, k, num);
System.out.println("Максимальное число после вычеркивания k-цифр: " + result);
}
}
Editor is loading...