#java
#java
Вопрос:
Учитывая число K и строку S цифр, обозначающих положительное целое число, создайте максимально возможное число, выполнив операции подкачки над цифрами S не более K раз.
import java.util.Scanner;
public class competitive {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int t=s.nextInt();
while(t>0){
t--;
int n=s.nextInt();
//taking input
String number=s.next();
int l=number.length();
char[] num=new char[l];
// spliting into char
for(int i=0; i<l; i ) {
num[i] = number.charAt(i);
}
//converting into integer
int[] nm=new int[l];
for(int i=0; i<l; i ){
nm[i]=Character.getNumericValue(num[i]);
}
int[] nm2=new int[l];
for(int i=0; i<l; i ){
nm2[i]=nm[i];
}
for(int i=0; i<l; i ){
for(int j=i 1; j<l; j ){
if(nm[i]<nm[j]) {
int temp =nm[i];
nm[i]=nm[j];
nm[j]=temp;
}
}
}
int x=0;
//sorting
for(int i=0; i<n; i ){
for(int j=0; j<l; j ){
if(nm[i]==nm2[j] amp;amp; j>x){
int temp=nm2[j];
nm2[j]=nm2[x];
nm2[x]=temp;
x ;
break;
}
}
}
for(int i=0; i<l; i ){
System.out.print(nm2[i]);
}
System.out.print("n");
}
}
}
3
4
1234567
3
3435335
2
1034
он не принимает входные данные 1034
как устранить ошибку.
я не знаю, но эта ошибка возникает уже давно, и я не могу понять, почему
Комментарии:
1. Вы отлаживали? ericlippert.com/2014/03/05/how-to-debug-small-programs
2. Является ли список чисел входным, выходным или желаемым результатом? Пожалуйста, предоставьте их все и пометьте их с пользой.
3. Запуская ваш код с числами в качестве входных данных, я получаю вывод «7654321 5543333 4301», который, похоже, прошел успешно, включая последний тестовый пример. Невозможно воспроизвести.
4. Я бы предложил помещать операторы печати после каждого ввода, чтобы убедиться, что вы работаете с теми числами, которые, по вашему мнению, есть.
5. он просто не принимает последний тестовый пример, если вы добавите еще один тестовый пример, тогда будут запущены все тестовые примеры, кроме последнего, и я попробовал с помощью инструкции print, а не просто принимает и принимает последний ввод тестового примера и сохраняет его