LeetCode 179. 最大数(自定义谓词函数--Lambda表达式--排序)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 179. 最大数(自定义谓词函数--Lambda表达式--排序)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 題目
給定一組非負(fù)整數(shù),重新排列它們的順序使之組成一個(gè)最大的整數(shù)。
示例 1: 輸入: [10,2] 輸出: 210示例 2: 輸入: [3,30,34,5,9] 輸出: 9534330 說(shuō)明: 輸出結(jié)果可能非常大,所以你需要返回一個(gè)字符串而不是整數(shù)。來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/largest-number
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
2. 自定義謂詞函數(shù)(Lambda表達(dá)式)排序
- 需要得到最大的數(shù),就是最高位大的放前面
- 兩個(gè)字符串 a,b ,a 排在前面的條件是:a+b>b+aa+b > b+aa+b>b+a
Lambda表達(dá)式
class Solution { public:string largestNumber(vector<int>& nums) {vector<string> vec;bool allZero = true;for(int num:nums) {vec.push_back(to_string(num));if(num != 0)allZero = false;}if(allZero)return "0";sort(vec.begin(), vec.end(), [](string &a, string &b){ return a+b > b+a; });//新的謂詞函數(shù)寫法,值得借鑒 Lambda表達(dá)式string ans;for(string s:vec)ans += s;return ans;} };總結(jié)
以上是生活随笔為你收集整理的LeetCode 179. 最大数(自定义谓词函数--Lambda表达式--排序)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LeetCode 第 23 场双周赛(9
- 下一篇: LeetCode 342. 4的幂(位运