有n个⾮负整数,将其按照字符串拼接的⽅式拼接为⼀个整数。如何拼接可以使得到的整数最⼤? 

例:[3,31,34,5,9],可以拼接出的最⼤整数为"9534330"

from functools import cmp_to_key

def cmp(x, y):
    if x + y < y + x:
        return 1
    else:
        return -1

lst = [3, 31, 34, 5, 9]
lst = list(map(str, lst))
lst.sort(key=cmp_to_key(cmp))

print(''.join(lst))

本文为 陈华 原创,欢迎转载,但请注明出处:http://edu.ichenhua.cn/read/340