45.把数组排成最小的数

这道题好像原来第一遍做的时候没有做,也不知道是忘记了还是什么原因,第二次重刷剑指offer时才发现没做,所以也就没有golang版本了,直接就是java版本的

         要想把数组排成最小的数,我们先对对数组中的数进行一个转换也就是String.valueOf()放进一个list中,然后自己去定义比较函数,两个字符串s1,s2比较s1+s2和s2+s1的大小,出现s1+s2>s2+s1的情况跟则进行交换,也就是让前面的和最小的出现在前面,不过由于太久没有使用自定义比较方法了,这里还有点陌生,其实就是这样s.sort((i,j)->(i+j).compareTo(j+i)),也就是说按照下列方式进行排序,而compareTo的效果就是前面的值比后面的大时返回正数,相等返回0,小于返回负数,然后sort函数就是当返回值大于1的进行一次排序。

     代码如下:

         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值