把数组排成最小的数
来源:互联网 发布:淘宝折也怎么报名 编辑:程序博客网 时间:2024/06/02 18:41
题目描述:
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
解题思路:
1.对数字组合ab和ba的值进行比较
如果 ab > ba ,则a > b
如果 ba > ab ,则b > a
如果ab=ba ,则a = b
2.按此种方式对所有数字排序,最后将排序后的数字连接成最小的数字
实际操作:
public String PrintMinNumber(int [] numbers) { if(numbers.length == 0 || numbers == null) return ""; ArrayList<Integer> list = new ArrayList<>(); for (int i = 0; i < numbers.length; i++) { list.add(numbers[i]); } //对list集合排序 Collections.sort(list, new Comparator<Integer>() { //比较字符串 public int compare(Integer o1, Integer o2) { String string1=o1+""+o2; String string2=o2+""+o1; return string1.compareTo(string2); } }); String str = ""; //组合成最小的数字 for (int i = 0; i < numbers.length; i++) { str+=list.get(i); } return str; }
0 0
- 把数组排成最小的数--总结
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数--总结
- 把数组排成最小的数--总结
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- HDU 5726 GCD (DP+二分)
- caffe学习(1):安装配置ubuntu14.04+cuda7.5+caffe+cudnn
- Unique Paths
- HTML5前端开发之进阶篇
- AsyncTask(异步)和Thread(线程)的使用与对比
- 把数组排成最小的数
- 使用Toolbar + DrawerLayou实现菜单侧滑,改变toolbar左上角图标
- ServletContext容器,网站访问量
- Java swing
- <C++略识>之浅拷贝与深拷贝
- Maven为web项目同时打jar和war包,deploy时只上传jar包的配置
- 解决Eclipse环境变量中的Web App Libraries下没有jar包的问题
- fileoutputstream和fileWrite和bufferedBufferedOutputStream区别
- 如何访问他人电脑上的共享文件夹