题目:
给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。
示例 1:
输入:[10,2]
输出:210
示例 2:
输入:[3,30,34,5,9]
输出:9534330
说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数。
代码:
class Solution(object):
def largestNumber(self, nums):
"""
:type nums: List[int]
:rtype: str
"""
if len(nums) == 0 or nums == None:
return 0
if len(nums) == 1:
return str(nums[0])
res = [nums[0]]
for i in range(1,len(nums)):
for j in range(len(res)):
flag = False
if str(nums[i])+str(res[j]) > str(res[j])+str(nums[i]):
flag = True
res.insert(j,nums[i])
break
if flag == False:
res.append(nums[i])
res_str = ""
for i in res:
res_str+=str(i)
return str(int(res_str))