179. 最大数
解法一:两两排序
#注意与py2的区别,sorted中自定义比较函数,参数用key,自定义函数要用functools转换
import functools
class Solution:
def largestNumber(self, nums: List[int]) -> str:
#排除全为0的干扰
if not any(nums):
return "0"
strs = []
#转成字符
for i in nums:
strs.append(str(i))
#排序,规则是若s1,s2交换后结果更大,排前面(取1),否则为-1,不变为0
#数字字符串的比较也是按数值大小进行
s = sorted(strs, key = functools.cmp_to_key(lambda s1, s2: -1 if s1+s2 > s2+s1 else(1 if s1+s2 < s2+s1 else 0)))
return "".join(s)最后更新于