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.
bool myCompare (string i, string j) { return (i+j) > (j+i); } class Solution { public: string largestNumber(vector<int> &num) { vector<string> tmp; bool allZero = true; for(int i : num) { allZero = allZero && i == 0; tmp.push_back(to_string(i)); } if (allZero) return "0"; sort(tmp.begin(), tmp.end(), myCompare); string output = ""; for(string s : tmp) output+=s; return output; } };
No comments:
Post a Comment