数字拼接
題目描述
輸入一個正整數數組,把數組里所有數字拼接起來排成一個數,打印能拼接出的所有數字中最小的一個。例如輸入數組{3,32,321},則打印出這三個數字能排成的最小數字為321323。
輸入[3,32,321]
返回值"321323"
代碼:
import java.util.ArrayList;public class Solution {public String PrintMinNumber(int [] numbers) {if(numbers == null || numbers.length == 0) return "";StringBuilder str = new StringBuilder();for(int i = 0; i < numbers.length; i++){// 依次交換for(int j = i + 1; j < numbers.length; j++){// 字符串排序法:判斷如果相加之后的數字,來把小數交換到前int sum1 = Integer.valueOf(numbers[i] + "" + numbers[j]);int sum2 = Integer.valueOf(numbers[j] + "" + numbers[i]);if(sum1 > sum2){int temp = numbers[i];numbers[i] = numbers[j];numbers[j] = temp;}}str.append(numbers[i]);}return str.toString();} }?
總結
- 上一篇: 基于aircrack-ng、crunch
- 下一篇: C# ActiveX 网页打包验证自动升