题目描述
给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。
示例1:
输入: [10,2]
输出: 210
示例2:
输入: [3,30,34,5,9]
输出: 9534330
说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数。
题解
from functools import cmp_to_key
class Solution:
def largestNumber(self, nums):
"""
:type nums: List[int]
:rtype: str
"""
cmp2key = cmp_to_key(lambda x,y: int(y+x)-int(x+y))
if all(n == 0 for n in nums): return '0'
else:
return ''.join(sorted(map(str, nums), key=cmp2key))