给定大于0的整型数组,问拼接完的最大值,如[1,23,2,6,7]找出来的数字是762321。
下面是我的一种实现方式,如果有更好的方法,欢迎留言探讨。
public class SuanFa1 {
public static void main(String[] args) {
int[] a = { 34, 24, 56, 7, 6, 5, 514 };
String[] strs = new String[a.length];
for (int i = 0; i < a.length; i++) {
strs[i] = String.valueOf(a[i]);
}
for (int i = 0; i < strs.length - 1; i++) {
for (int j = i + 1; j < strs.length; j++) {
String str1 = strs[i] + strs[j];
String str2 = strs[j] + strs[i];
if (str1.compareTo(str2) < 0) {
String temp = strs[i];
strs[i] = strs[j];
strs[j] = temp;
}
}
}
StringBuilder stringBuilder = new StringBuilder();
for (String string : strs) {
stringBuilder.append(string);
}
System.out.println(stringBuilder.toString());
}
}