首页 > 代码库 > Largest Number

Largest Number

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.

 

C++代码实现:

#include<iostream>#include<string>#include<vector>using namespace std;class Solution {public:    string largestNumber(vector<int> &num) {        if(num.empty())            return "";        string ret;        int i,j;        while(!num.empty())        {            i=0;            for(j=1;j<(int)num.size();j++)            {                if((to_string(num[i])+to_string(num[j]))<(to_string(num[j])+to_string(num[i])))                    i=j;            }            ret+=to_string(num[i]);            num.erase(num.begin()+i);        }        while(ret.size()>1&&ret[0]==0)            ret.erase(ret.begin());        return ret;    }};int main(){    Solution s;    vector<int> vec={3,30,34,5,9};    cout<<s.largestNumber(vec)<<endl;}

 

Largest Number