給定一組非負整數,重新排列它們的順序使之組成乙個最大的整數。
示例 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...