public class App
{
public static void main(String[] args )
{
Integer[] input = {3, 30, 34, 5, 9};
int inputLength = input.length;
int tmp;
while (inputLength!=0){
for (int j=1;j<inputLength; j++){
if (App.exchange(input[j-1],input[j])){
tmp = input[j-1];
input[j-1] = input[j];
input[j] = tmp;
}
}
inputLength--;
}
StringBuffer sb = new StringBuffer();
for (int a : input){
sb.append(a);
}
System.out.println(sb);
}
public static boolean exchange(int a,int b){
StringBuffer sb1 = new StringBuffer();
sb1.append(a).append(b);
StringBuffer sb2 = new StringBuffer();
sb2.append(b).append(a);
int m1 = Integer.parseInt(String.valueOf(sb1));
int m2 = Integer.parseInt(String.valueOf(sb2));
if (m1 < m2){
return true;
}else{
return false;
}
}
}
算法: 给出一组非负整数,重新排列他们的顺序把他们组成一个最大的整数。
最新推荐文章于 2021-11-16 15:19:15 发布