把数组排成最小的数
来源:互联网 发布:java通过构造方法传参 编辑:程序博客网 时间:2024/06/03 14:58
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
import java.util.*;/* * 解题思路: * 先将整型数组转换成String数组,然后将String数组排序,最后将排好序的字符串数组拼接出来。关键就是制定排序规则。 * 排序规则如下: * 若ab > ba 则 a > b, * 若ab < ba 则 a < b, * 若ab = ba 则 a = b; * 解释说明: * 比如 "3" < "31"但是 "331" > "313",所以要将二者拼接起来进行比较*/public class Solution { public String PrintMinNumber(int [] numbers) { if(numbers==null||numbers.length<1){ return ""; } int len=numbers.length; //将数组元素转换为字符串数组中的元素,即用字符串表示数字,应对大数溢出问题 String[] str=new String[len]; for(int i=0;i<len;i++){ str[i]=String.valueOf(numbers[i]); } Arrays.sort(str,new Comparator<String>(){ @Override public int compare(String c1,String c2){ return (c1+c2).compareTo(c2+c1); } }); StringBuilder builder=new StringBuilder(); for(int i=0;i<len;i++){ builder.append(str[i]); } return builder.toString(); }}
阅读全文
0 0
- 把数组排成最小的数--总结
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数--总结
- 把数组排成最小的数--总结
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 技术与技术人员的价值
- CodeForces
- 删除公众号菜单-php开发公众号视频教程
- fnl+wrf 报错记录
- Linux-001-Linux发展历史和发行版本
- 把数组排成最小的数
- redis事务
- Java 加载资源文件整理
- Linux-002-Linux应用领域与开源软件介绍
- Codeforces Round #430 (Div. 2) E. Nikita and game
- Linux-003-Linux系统安装-系统分区
- 使用Flask编写的接口编码
- Spring Cloud构建微服务架构—服务网关过滤器
- 丑数