当前位置:首页 > 主打产品 >

[LeetCode179] Largest Number

作者:厦门七星音乐岛文化传播有限公司 发布时间:2017-09-05 12:12:10

[LeetCode179] Largest Number

Given a list of non negative integers, arrange them such that they form the largest number.

For example, given [3, 30, 34, 5, 9], the largest formed number is 9534330.

Note: The result may be very large, so you need to return a string instead of an integer.


solution:

sort the array, difficult is how to compare two number.

simple way is to concat two number, ie. 30,34

a1 =3034 a2 = 3430 a2>a1

So you need implement custome compartor

public String largestNumber(int[] nums) { if(nums.length <=0) return ; int len = nums.length; String[] numStrings = new String[len]; for(int i=0;i() { @Override public int compare(String o1, String o2) { // TODO Auto-generated method stub String ab = o1.concat(o2); String ba = o2.concat(o1); long a1 = Long.valueOf(ab); long b1 = Long.valueOf(ba); return a1>b1 ? 1: (a1==b1 ? 0 : -1); } }); StringBuilder builder = new StringBuilder(); for(int i=len-1;i>=0;i--){ builder.append(numStrings[i]); } return builder.toString().replaceFirst(^0+(?!$), ); }

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:鄂州SEO http://ezhou.4567w.com

  • 上一篇:ADO.net之导入数据
  • 下一篇:最后一页
  • 

    COPYRIGHT © 2015 厦门七星音乐岛文化传播有限公司 ALL RIGHTS RESERVED.

    本站所有原创信息,未经许可请勿任意转载或复制使用

    网站地图 技术支持:肥猫科技
    精彩专题:网站建设
    购买本站友情链接、项目合作请联系客服QQ:2500-38-100