码迷,mamicode.com
首页 > 其他好文 > 详细

[LeetCode] 179. Largest Number

时间:2016-10-05 15:13:31      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

题目:

Given a list of non negative integers, arrange them such that they form the largest number.

For example, given [3, 30, 34, 5, 9], the largest formed number is 9534330.

Note: The result may be very large, so you need to return a string instead of an integer.

利用sort函数,自己写一个比较函数compare,比较两个数字连接起来哪个大进行排序。

class Solution {
public:
    string largestNumber(vector<int>& nums) {
        string restr = "";
        sort(nums.begin(), nums.end(), compare);
        for (int i = 0; i < nums.size(); ++i){
            restr += to_string(nums[i]);
        }
        if (restr[0] == 0){
            return "0";
        }
        return restr;
    }
    
    static bool compare(int a, int b){
        string stra = to_string(a);
        string strb = to_string(b);
        
        return stra + strb > strb + stra;
    }
};

 

[LeetCode] 179. Largest Number

标签:

原文地址:http://www.cnblogs.com/Doctengineer/p/5932124.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!