У меня есть номер, который мне нужно переустановить, чтобы найти наибольшее число. В качестве примера введите номер 355, поэтому для этого числа мне нужно найти наибольшее число, которое может быть сформировано путем переустановки цифр. Таким образом, для 355, различных комбинации могут быть возможными после перестановки -Как переустановить номер
355, 535 and 553
Так вот 553 наибольшего число, и это то, что мне нужно вернуться. В принципе, учитывая вход, мне нужно найти наибольшее число, которое может быть сформировано путем переустановки чисел.
Как мне решить эту проблему?
До сих пор я в состоянии сделать перетасовать числа, как это:
public static void main(String[] args) {
//generate random number
int number = 355;
//put each digit in an element of a list
List<Character> numberList = new ArrayList<Character>();
for (char c : String.valueOf(number).toCharArray()) {
numberList.add(c);
}
//shuffle
Collections.shuffle(numberList);
//output
String shuffledNumber = "";
for (Character c : numberList) {
shuffledNumber += c;
}
System.out.println(shuffledNumber);
}
Но я путаю, как я могу найти наибольшее число данный вход после перестановки цифр.