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