您的位置:首页 > 其它

设有n个正整数,将他们连接成一排,组成一个最大的多位整数。

2017-09-18 11:30 260 查看
题目描述:



这个题不难,但是却折腾了,很久,一看题目就想到了字符串排序,然后就傻傻的直接排序了,但是一直不通过,然后才发现前缀捣鬼。。。

解题思路:

判断A,B大小的依据:如果 A+B>B+A 那么 A>B, 否则B>A

代码:

import java.util.Scanner;
import java.util.Arrays;

public class Main {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
String ns=s.nextLine();
int n=Integer.parseInt(ns);
String data=s.nextLine();
String D[]=data.split(" ",n);
for(int i=0;i<n-1;i++){
for(int j=i+1;j<n;j++){
if((D[i]+D[j]).compareTo(D[j]+D[i])<0){
String temp=D[i];
D[i]=D[j];
D[j]=temp;
}
}
}
String out="";
for(int i=0;i<n-1;i++){
out=out+D[i];
}
out=out+D[n-1];
System.out.print(out);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐