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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 JAVA-給定一組非負整數,重新排列它們的順序使之組成一個最大的整數。 Leetcode練習(Python):數組類:第42題:給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖,計算按此排列的柱子,下雨之后能接多少雨水。 一道筆試題-給定一個正整數序列,請嘗試將它們重新排列使得排列的結果最大。 Leetcode練習(Python):數組類:第55題:給定一個非負整數數組,你最初位於數組的第一個位置。 數組中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最后一個位置。 Leetcode練習(Python):數組類:第45題:給定一個非負整數數組,你最初位於數組的第一個位置。 數組中的每個元素代表你在該位置可以跳躍的最大長度。 你的目標是使用最少的跳躍次數到達數組的最后一個位置。 Leetcode練習(Python):第258題:各位相加:給定一個非負整數 num,反復將各個位上的數字相加,直到結果為一位數。 Leetcode練習(Python):第66題:給定一個由整數組成的非空數組所表示的非負整數,在該數的基礎上加一。 最高位數字存放在數組的首位, 數組中每個元素只存儲單個數字。 你可以假設除了整數 0 之外,這個整數不會以零開頭。 Leetcode練習(Python):數組類:第59題:給定一個正整數 n,生成一個包含 1 到 n2 所有元素,且元素按順時針順序螺旋排列的正方形矩陣。 Leetcode練習(Python):數組類:第75題:給定一個包含紅色、白色和藍色,一共 n 個元素的數組,原地對它們進行排序,使得相同顏色的元素相鄰,並按照紅色、白色、藍色順序排列。 此題中,我們使用整數 0、 1 和 2 分別表示紅色、白色和藍色。 注意: 不能使用代碼庫中的排序函數來解決這道題。 LeetCode 179. 最大數(Largest Number)
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM