牛客题霸 [最大数] C++题解/答案
生活随笔
收集整理的這篇文章主要介紹了
牛客题霸 [最大数] C++题解/答案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
牛客題霸 [最大數] C++題解/答案
題目描述
給定一個數組由一些非負整數組成,現需要將他們進行排列并拼接,使得最后的結果最大,返回值需要是string類型 否則可能會溢出
題解:
將字符串存入vector中然后sort排序,最后將所以字符串連在一起
但是注意,最前面的字符串不能以0開始,所以先將開頭的0篩過
代碼:
class Solution { public:/*** 最大數* @param nums int整型vector * @return string字符串*/string solve(vector<int>& nums) {// write code herevector<string> str;for (int i = 0; i < nums.size(); i++) {str.push_back(to_string(nums[i]));}sort(str.begin(), str.end(), cmp);string ans = "";int i = 0;while (i < str.size()-1 && str[i] == "0") {i++;}while (i < str.size()) {ans += str[i];i++;}return ans;}static bool cmp(string a, string b) {return a+b > b+a;} }; 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的牛客题霸 [最大数] C++题解/答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牛客题霸 [拼接所有的字符串产生字典序最
- 下一篇: 牛客题霸 [子数组最大乘积] C++题解