最大数
来源:互联网 发布:单片机红绿灯电路图 编辑:程序博客网 时间:2024/06/05 17:17
给出一组非负整数,重新排列他们的顺序把他们组成一个最大的整数。
注意事项
最后的结果可能很大,所以我们返回一个字符串来代替这个整数。
样例
注意事项
最后的结果可能很大,所以我们返回一个字符串来代替这个整数。
样例
给出 [1, 20, 23, 4, 8],返回组合最大的整数应为8423201。
import java.util.Arrays;import java.util.Comparator;import java.util.Scanner;/** * * 给出一组非负整数,重新排列他们的顺序把他们组成一个最大的整数。 注意事项最后的结果可能很大,所以我们返回一个字符串来代替这个整数。样例给出 [1, 20, 23, 4, 8],返回组合最大的整数应为8423201。 * @author Dell * */public class Test184 { public static String largeNumber(int[] num) { int count=0;for(int i=0;i<num.length;i++){if(num[i]==0){count++;}}if(count==num.length)return "0"; String[] a=new String[num.length]; for(int i=0;i<num.length;i++) { a[i]=String.valueOf(num[i]); } Arrays.sort(a, new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {String s1=o1+o2;String s2=o2+o1;return s1.compareTo(s2);} }); StringBuilder sb=new StringBuilder(); for(int i=a.length-1;i>=0;i--) { sb.append(a[i]); } return sb.toString(); }public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int[] a=new int[n]; for(int i=0;i<a.length;i++) { a[i]=sc.nextInt(); } System.out.println(largeNumber(a)); /*String[] a={"1","2","10","11"}; Arrays.sort(a); for(int i=0;i<a.length;i++) { System.out.print(a[i]+" "); }*/}}
阅读全文
0 0
- 最大数
- 最大数
- 最大数
- 三个数求最大数
- 最小数和最大数
- 最小数和最大数
- Sybase最大连接数
- 查找最大数
- 求最大数
- 数组最大数
- 最大连续数
- 最大进程 线程数
- Chessboard------最大独立数
- 求最大数
- 求最大数
- Tomcat最大并发数
- 最大数 回文
- ios 最大线程数
- 2017.6.26 学习记录 MyEclipse的基础复习及代码
- Java中的阻塞队列
- HTML标签的使用
- java项目命名规范
- jquery-ui之dialog的使用
- 最大数
- mybatis批量插入clob,ORA-01461-仅能绑定要插入LONG列的LONG值
- Swing 的java文件写好之后显示不全的问题
- 个人开发环境搭建 ubuntu
- object detection目标检测,Image classification图片分类,Instance Segmentation 和 Semantic Segmentation
- Python 刷题日记:LeetCode: 1&15&16-Two Sum and 3Sum
- RecyclerView ItemTouchHelper源码分析扩展
- 微软云Centos byobu安装
- Linux 远程连接工具使用-putty 密钥验证