1. 程式人生 > 實用技巧 >FBEC2020全面升級,四大主會場內容搶先關注!

FBEC2020全面升級,四大主會場內容搶先關注!

1. 題目描述

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

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

示例 1:

輸入:nums = [10,2]
輸出:"210"
示例2:

輸入:nums = [3,30,34,5,9]
輸出:"9534330"
示例 3:

輸入:nums = [1]
輸出:"1"
示例 4:

輸入:nums = [10]
輸出:"10"

2. 解題思路

整形陣列轉為字串陣列排序。

2.1 C++

 1 class Solution {
 2 public:
 3     string largestNumber(vector<int>& nums) {
4 vector<string> vec; 5 for(int i = 0; i < nums.size(); i++){ 6 string temp = to_string(nums[i]); 7 vec.push_back(temp); 8 } 9 sort(vec.begin(), vec.end(), cmp); 10 string all; 11 if(vec[0] == "0"){ 12 return
"0"; 13 } 14 for(int i = 0; i < vec.size(); i++){ 15 all += vec[i]; 16 } 17 return all; 18 } 19 static bool cmp(string a, string b){ 20 return a + b > b + a; 21 } 22 };

3. 結語

努力去愛周圍的每一個人,付出,不一定有收穫,但是不付出就一定沒有收穫! 給街頭賣藝的人零錢,不和深夜還在擺攤的小販討價還價。願我的部落格對你有所幫助(*^▽^*)(*^▽^*)!

如果客官喜歡小生的園子,記得關注小生喲,小生會持續更新(#^.^#)(#^.^#)。