首页 > 代码库 > [leetcode]Largest Number
[leetcode]Largest Number
给一组数字求拼起来最大的那个,其实按照我们的想法就是把大的放前面呗,那到底哪个大呢。
数字a,b拼接起来就是ab,或者ba看这两个哪个大,就ab大就把a放前面,ba大就把b放前面。
排个序就好。。。注意考虑都是0的情况。。。(因为下面我们用的是字符串
class Solution {public: string largestNumber(vector<int> &num) { vector<string> strs; for_each(num.begin(), num.end(), [&](int i) { strs.push_back(to_string(i)); }); sort(strs.begin(), strs.end(), [&](const string& a, const string& b) { return (a + b) > (b + a); }); string ans = ""; for_each(strs.begin(), strs.end(), [&](string& i) { if (ans == "" && i == "0") return; ans += i; }); return ans == "" ? "0" : ans; }};
[leetcode]Largest Number
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。