Вычеркивание Java
user_7290026
java
2 years ago
1.5 kB
6
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...