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.
解题思路:
关键就是判断大小的compare func
Python的解法:
class Solution:
# @param num, a list of integers
# @return a string
def largestNumber(self, num):
newNum = sorted([str(x) for x in num], cmp=self.compare)
largeNum = ''.join(newNum) or '0'
return largeNum
def compare(self, a, b):
return [1, -1][a + b > b + a]
No comments:
Post a Comment