1. 程式人生 > >給定一列非負整數,求這些數連線起來能組成的最大的數

給定一列非負整數,求這些數連線起來能組成的最大的數

題目是這樣的:
題目


程式碼是這樣的:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        String in[]=new String [n];
        
        for(int i = 0; i < n; i++){
            in[i] = sc.
next(); } String out =maxnum(in,n); System.out.println(out); } static String maxnum(String[] in,int n) { for(int i=0;i<n;i++) { for(int j=i+1;j<n;j++) { if(swith(in[i],in[j])) { String tmp=in[i]; in[i]=in[j]; in[j]=tmp; }
} } StringBuffer sb=new StringBuffer(); for(int i=0;i<n;i++) { sb.append(in[i]); } return sb.toString(); } static boolean swith(String x,String y) { int xlen=x.length(); int ylen=y.length(); int len=xlen>ylen?xlen:ylen; for(int i=
0;i<len;i++) { if(x.charAt(i%xlen)<y.charAt(i%ylen)) return true; else if(x.charAt(i%xlen)>y.charAt(i%ylen)) return false; } return false; } }

emmm,好長啊