#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 最大数
# @param nums int整型一维数组 
# @return string字符串
#
class Solution:
    def solve(self , nums: List[int]) -> str:
        # write code here
        s = list(map(str,nums))#将数组中的数值元素转化为字符串
        n = len(s)#求数组的长度
        for i in range(n):
            swapped = False#标记是否发生了交换
            for j in range(n-i-1):
                if int(s[j]+s[j+1])<int(s[j+1]+s[j]):
                    s[j], s[j+1] = s[j+1], s[j]#类似冒泡排序交换位置,末尾开始固定
                    swapped = True
            if not swapped:#如果没有发生交换,说明是正确有序,提前退出
                break
        if s[0]=='0':#首位位'0'
            return '0'
        return ''.join(s)