179. 最大数

发布时间 2023-06-06 19:39:31作者: 乐乐章

难度中等

给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。

注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。

 

示例 1:

输入nums = [10,2]
输出:"210"

示例 2:

输入nums = [3,30,34,5,9]
输出:"9534330"

 

提示:

  • 1 <= nums.length <= 100
  • 0 <= nums[i] <= 109

 

from functools import cmp_to_key
class Solution:
    def largestNumber(self, nums: List[int]) -> str:
        def fun(x1,x2):
            return int(x2+x1) - int(x1+x2)
        l = sorted(list(map(str,nums)),key=cmp_to_key(fun))
        if l[0] == '0':
            return "0"
        return ''.join(l)