import java.util.*;


public class Solution {
    /**
     * 最大数
     * @param nums int整型一维数组 
     * @return string字符串
     */
    public String solve (int[] nums) {
        Integer[] arr = new Integer[nums.length] ;
        for(int i = 0 ; i < arr.length ; i ++) {
            arr[i] = nums[i] ;
        }
        //自定义排序(贪心策略,对于任何相邻的两个数,将他们排成较大的顺序)
        Arrays.sort(arr , (a , b) -> Integer.parseInt(""+b+a)-Integer.parseInt(""+a+b)) ; 
        StringBuilder res = new StringBuilder() ;
        for(int i = 0 ; i < arr.length ; i ++) {
            res.append(""+arr[i]) ;
        }
        //除去前导0
        String res1 = res.toString() ;
        int i = 0 ;
        while(i < res1.length()-1) {
            if(res1.charAt(i) != '0') {
                break ;
            }
            i ++ ;
        }
        return res1.substring(i) ;
    }
}