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):數組類:第55題:給定一個非負整數數組,你最初位於數組的第一個位置。 數組中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最后一個位置。 Leetcode練習(Python):數組類:第75題:給定一個包含紅色、白色和藍色,一共 n 個元素的數組,原地對它們進行排序,使得相同顏色的元素相鄰,並按照紅色、白色、藍色順序排列。 此題中,我們使用整數 0、 1 和 2 分別表示紅色、白色和藍色。 注意: 不能使用代碼庫中的排序函數來解決這道題。 Leetcode練習(Python):第441題:排列硬幣:你總共有 n 枚硬幣,你需要將它們擺成一個階梯形狀,第 k 行就必須正好有 k 枚硬幣。 給定一個數字 n,找出可形成完整階梯行的總行數。 n 是一個非負整數,並且在32位有符號整型的范圍內。 Leetcode練習(Python):數組類:第128題:給定一個未排序的整數數組,找出最長連續序列的長度。 要求算法的時間復雜度為 O(n)。 Leetcode練習(Python):字符串類:第227題:基本計算器 II:實現一個基本的計算器來計算一個簡單的字符串表達式的值。 字符串表達式僅包含非負整數,+, - ,*,/ 四種運算符和空格 。 整數除法僅保留整數部分。 Java -- 給定一個int數組,拼接出最大數值 Leetcode練習(Python):數組類:第11題:給你 n 個非負整數 a1,a2,...,an,每個數代表坐標中的一個點 (i, ai) 。在坐標內畫 n 條垂直線,垂直線 i 的兩個端點分別為 (i, ai) 和 (i, 0)。找出其中的兩條線,使得它們與 x 軸共同構成的容器可以容納最多的水。 Leetcode練習(python):第414題:第三大的數:給定一個非空數組,返回此數組中第三大的數。如果不存在,則返回數組中最大的數。要求算法時間復雜度必須是O(n)。 Leetcode練習(Python):回溯算法類:第131題:分割回文串:給定一個字符串 s,將 s 分割成一些子串,使每個子串都是回文串。 返回 s 所有可能的分割方案。
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM