把数组排成最小的数
来源:互联网 发布:淘宝卖家花呗开通条件 编辑:程序博客网 时间:2024/06/10 19:50
1.题目描述
传送门
2.code(java1.7版本)
import java.util.*;public class Solution { public String PrintMinNumber(int [] numbers) { if(numbers==null)return ""; int len=numbers.length; if(len==0)return ""; String[] str=new String[len]; StringBuilder sb=new StringBuilder(); for(int i=0;i<len;i++){ str[i]=String.valueOf(numbers[i]); } Arrays.sort(str,new Comparator<String>(){ @Override public int compare(String s1,String s2){ String c1=s1+s2; String c2=s2+s1; return c1.compareTo(c2); } }); for(int i=0;i<len;i++){ sb.append(str[i]); } return sb.toString(); }}
3.解题思路
对于这道题,其实只需要将原来数组里面的数据按照一个设定的规则从小到大排序,在将全部的数据按照字符串拼接起来即可完成最小字符串的发现。但是怎么进行数据之间两两的大小的比较?这就需要我们自己设定比较的规则,可以看出,我们是希望最后的字符串数据最小,那么我们需要以拼接好的数据作为比较的依据来比较原来数据的大小排列,则规则如下:
若ab > ba 则 a > b,
若ab < ba 则 a < b,
若ab = ba 则 a = b;
其中,a,b都为原来的数据转换为的字符串,这样设定比较规则,再用java里面的sort进行整体的排序,最后进行全部字符串的拼接即可得到最后最小的字符串。
阅读全文
1 0
- 把数组排成最小的数--总结
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数--总结
- 把数组排成最小的数--总结
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 解决.net mvc json传值到后台,里面的值包含html标签 后台接受不到值的问题
- 谈谈java三大框架
- NLP 科研资料推荐
- 如何像阿里一样开启办公“轻”时代?详解阿里云企业办公解决方案
- HttpClientPOST
- 把数组排成最小的数
- 添加环境变量
- Global Average Pooling对全连接层的可替代性分析
- 一些好的学术文章链接
- spring MVC (3) 自定义视图
- jdk install
- Flink中slot的一点理解
- 79. Word Search
- 在Linux环境下部署Hadoop2.4.1伪分布式