LeetCode演算法題179 最大數解析

2021-09-11 21:18:50 字數 1184 閱讀 1299

給定一組非負整數,重新排列它們的順序使之組成乙個最大的整數。

示例 1:

輸入: [10,2]

輸出: 210

示例 2:

輸入: [3,30,34,5,9]

輸出: 9534330

說明:輸出結果可能非常大,所以你需要返回乙個字串而不是整數。

這個題需要自定義乙個排序方法,因為以字串的形式組合兩個數,前後不同組合的數不同,哪個大就用哪個順序,然後這樣對陣列排序,最後組合即可,要注意的是結果可能是在前面有0,所以需要特殊處理一下。

c++源**:

class

solution

return res[0]

=='0'

?"0"

: res;

}static

bool

cmp(

int a,

int b)

};

python3源**:

class

solution

:def

largestnumber

(self, nums: list[

int])-

>

str:

n =len(nums)

for i in

range

(n):

for j in

range

(n-i-1)

: temp_1 =

str(nums[j]

) temp_2 =

str(nums[j+1]

)if(int

(temp_1+temp_2)

<

int(temp_2+temp_1)):

nums[j]

=int

(temp_2)

nums[j+1]

=int

(temp_1)

res =

""for i in nums:

res +=

str(i)

return

str(

int(res)

)

leetcode 179 題 最大數

leetcode 179 題 題目 最大數 題目描述 給定一組非負整數,重新排列它們的順序使之組成乙個最大的整數。示例 1 輸入 10,2 輸出 210 示例 2 輸入 3,30,34,5,9 輸出 9534330 說明 輸出結果可能非常大,所以你需要返回乙個字串而不是整數。解決思路 arrays....

leetcode題 179 最大數(中等)

一 題目描述 179.最大數 中等 給定一組非負整數,重新排列它們的順序使之組成乙個最大的整數。示例 1 輸入 10,2 輸出 210 示例 2 輸入 3,30,34,5,9 輸出 9534330 說明 輸出結果可能非常大,所以你需要返回乙個字串而不是整數。二 解題思路 對陣列進行排序,排序的比較函...

Leetcode每日一題 179 最大數

給定一組非負整數 nums,重新排列每個數的順序 每個數不可拆分 使之組成乙個最大的整數。注意 輸出結果可能非常大,所以你需要返回乙個字串而不是整數。示例 1 輸入 nums 10,2 輸出 210 示例 2 輸入 nums 3,30,34,5,9 輸出 9534330 示例 3 輸入 nums 1...