Leetcode练习(Python):排序类:第179题:最大数:给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。

题目:

最大数:给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。

思路:

根据字符串的特征使用类似冒泡排序的方式来将数组从大到小排序,最后构造结果就好。

程序:

class Solution:
    def largestNumber(self, nums: List[int]) -> str:
        if not nums:
            return ''
        if sum(nums) == 0:
            return '0'
        auxiliary = []
        auxiliary_first = []
        length = len(nums)
        for index in range(length):
            auxiliary.append(str(nums[index]))
        for index1 in range(length):
            for index2 in range(length - index1 - 1):
                if auxiliary[index2] + auxiliary[index2 + 1] < auxiliary[index2 + 1] + auxiliary[index2]:
                    auxiliary[index2], auxiliary[index2 + 1] = auxiliary[index2 + 1], auxiliary[index2]
        result = ''
        for index3 in range(length):
            result = result + auxiliary[index3]
        return result

  

猜你喜欢

转载自www.cnblogs.com/zhuozige/p/12902362.html