184. 最大数

184. 最大数 

 

给出一组非负整数,重新排列他们的顺序把他们组成一个最大的整数。

 注意事项

最后的结果可能很大,所以我们返回一个字符串来代替这个整数。

样例

给出 [1, 20, 23, 4, 8],返回组合最大的整数应为8423201

挑战 

在 O(nlogn) 的时间复杂度内完成。

标签 
 
 
class Solution {
public:
string largestNumber(vector<int> &nums) {
        string res;
        sort(nums.begin(), nums.end(), [](int a, int b) {
           return to_string(a) + to_string(b) > to_string(b) + to_string(a); 
        });
        for (int i = 0; i < nums.size(); ++i) {
            res += to_string(nums[i]);
        }
        return res[0] == '0' ? "0" : res;
    }

};

  

posted @ 2017-12-09 17:28  Quintinz  阅读(195)  评论(0编辑  收藏  举报