179. Largest Number
Given a list of non negative integers, arrange them such that they form the largest number.
For example, given [3, 30, 34, 5, 9], the largest formed number is 9534330.
Note: The result may be very large, so you need to return a string instead of an integer.
数据组合排序使得组合后的数最大
思路:
str(a)+str(b)>str(b)+str(a)就选择ab否则是ba
sorted(iterable, cmp=None, key=None, reverse=False)
注意python3中没有cmp
class Solution:
# @param {integer[]} nums
# @return {string}
def largestNumber(self, nums):
comp=lambda a,b:1 if a+b>b+a else -1 if a>b<b+a else 0
num=sorted([str(x) for x in nums],cmp=comp,reverse=True)
ans=''.join(num).lstrip('0')
return ans or 0

浙公网安备 33010602011771号