题目
给出一个非负整数的数组,组合它们,找出能组成的最大的数。因为结果可能非常大,你需要哦返回一个字符串。如:
Example 1:
Input: [10,2]
Output: “210”
Example 2:
Input: [3,30,34,5,9]
Output: “9534330”
Note: The result may be very large, so you need to return a string instead of an integer.
Python题解
class LargeNumKey(str):
def __lt__(x, y):
return x + y > y + x
class Solution(object):
def largestNumber(self, nums):
"""
:type nums: List[int]
:rtype: str
"""
nums = sorted(map(str, nums), key=LargeNumKey)
res = ''.join(nums)
if res.startswith('0'):
return "0"
return res