标签:
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; }
标签:
原文地址:http://www.cnblogs.com/wuchanming/p/4232933.html