我有一個號碼,我需要重新安排找到最大的號碼。作爲一個例子,輸入數字是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);
}
但我搞不清我怎麼能找到重新排列後的數字給出的輸入數量最多。