***179. Largest Number
179. 最大数
给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。
示例 1:
输入: [10,2]
输出: 210
示例 2:
输入: [3,30,34,5,9]
输出: 9534330
思路:注意输出的是字符串
例如【3,30,34,5,9】,我们应该将其转为字符串后排序,但是仅仅这样做是不够的。例如 ‘30’>'3', 而我们的正确答案应该是:9534330 而非9534303,所以我们需要对于结果为ab的串要比较是否ab>ba。即对于a='3'和b=‘30’,因为‘330’>‘303’.所以我们采用第一种方案。
class LargerNumKey(str): def __lt__(x, y): # 内置的魔法函数 return x+y > y+x class Solution: def largestNumber(self, nums: List[int]) -> str: s = ''.join(sorted(list(map(str,nums)), key = LargerNumKey)) return '0' if s[0]=='0' else s

浙公网安备 33010602011771号