数字拼接
題目描述
輸入一個(gè)正整數(shù)數(shù)組,把數(shù)組里所有數(shù)字拼接起來排成一個(gè)數(shù),打印能拼接出的所有數(shù)字中最小的一個(gè)。例如輸入數(shù)組{3,32,321},則打印出這三個(gè)數(shù)字能排成的最小數(shù)字為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++){// 字符串排序法:判斷如果相加之后的數(shù)字,來把小數(shù)交換到前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();} }?
總結(jié)
- 上一篇: 基于aircrack-ng、crunch
- 下一篇: MFC 添加静态图片(Picture C