解读一下代码,最大整数贪心算法

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

输入格式:
第一行输入一个整数n,表示有n个数。
第二行输入n个整数,以空格隔开。

输出格式:
输出n个数连成的最大整数。

输入样例:
3
13 312 343
输出样例:
34331213


l1 = input().split()
s = ""
l2 = deepcopy(l1)
print(max(l1))

while True:
    try:
        for i in l2:
            if i == max(l1):
                s += i
                l1.remove(i)
    except:
        break
print(s)

没用到n,也就是一个输入的事

按字符序进行倒序就可以了吧


n = int(input())
num = input().split()
t = ''
def find(a):
    g
    if len(a)==0:
        return
    a1=a[0]
    for i in a:
        if a1+i<i+a1:
            a1=i
    t=t+a1
    a.remove(a1)
    find(a)
    return t
print(find(num))

帮我写一下注释可以吗