码迷,mamicode.com
首页 > 编程语言 > 详细

Java -- 给定一个int数组,拼接出最大数值

时间:2019-04-12 00:38:47      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:pointer   int   pen   string   bool   个数   for   new   ||   


public class ZhiJieTiaoDong {


/*
给定一个数组:组合成最大数值
*/
public String szpj(int[] args){
if(null == args || args.length == 0){
return "";
}
StringBuilder stringBuilder = new StringBuilder();
int[] yxsz = compareSZ(args);
for (int i = args.length - 1; i >= 0; i--){
stringBuilder.append(String.valueOf(args[i]));
}
return stringBuilder.toString();
}

/*
排序
*/
private int[] compareSZ(int[] args){
if(null == args){
throw new NullPointerException();
}
if (args.length == 1){
return args;
}
int change = 0;
for(int i = 0; i < args.length - 1; i++){
for(int j = i + 1; j < args.length; j++){
if(compare(args[i], args[j])){
change = args[i];
args[i] = args[j];
args[j] = change;
}
}
}
return args;
}

/*
比较两个数字哪个作高位排列
example: 9, 98 --> 998; 15, 18 --> 1815
*/
private boolean compare(int a, int b){
String aa = String.valueOf(a);
String bb = String.valueOf(b);
int ab = Integer.valueOf(aa + bb);
int ba = Integer.valueOf(bb + aa);
if(ab >= ba){
return true;
}else {
return false;
}
}

public static void main(String[] args){
ZhiJieTiaoDong zhiJieTiaoDong = new ZhiJieTiaoDong();
int[] a = {10,21,13,24};
int[] b = {35,11,23,4,34};
int[] c = {0, 4,2, 32, 11, 22, 11};
System.out.println(zhiJieTiaoDong.szpj(c));
}



}

Java -- 给定一个int数组,拼接出最大数值

标签:pointer   int   pen   string   bool   个数   for   new   ||   

原文地址:https://www.cnblogs.com/fqfanqi/p/10693444.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!