给定一个数组,元素都是正整数,要求返回这些元素所组成的最大数

给定一个数组,元素都是正整数,要求返回这些元素所组成的最大数

e.g.: [7,8,86,4] 返回88674

<span style="font-size:18px;">  public String largestNumber(int[] num) {
			if(num == null || num.length == 0)
			    return "";
			String[] s_num = new String[num.length];
			for(int i = 0; i < num.length; i++)
			    s_num[i] = String.valueOf(num[i]);
			Comparator<String> comp = new Comparator<String>(){
			    @Override
			    public int compare(String str1, String str2){
			    	String s1 = str1 + str2;
			    	String s2 = str2 + str1;
			    	return s2.compareTo(s1); 
			    }
		        };
			Arrays.sort(s_num, comp);
	                if(s_num[0].charAt(0) == '0')
	                    return "0";
			StringBuilder sb = new StringBuilder();
			for(String s: s_num)
		            sb.append(s);
			return sb.toString();
		}</span>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值