leetcode_179

题目描述

给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。

示例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))

你可能感兴趣的:(编码)