179. Largest Number | LeetCode Solution
Given a list of non-negative integers nums
, arrange them such that they form the largest number and return it.
Since the result may be very large, so you need to return a string instead of an integer.
Example 1:
Input: nums = [10,2]
Output: "210"
Example 2:
Input: nums = [3,30,34,5,9]
Output: "9534330"
Constraints:
1 <= nums.length <= 100
0 <= nums[i] <= 109
class Solution{public: static bool cmp(int a, int b) { return (to_string(a) + to_string(b)) > (to_string(b) + to_string(a)); } string largestNumber(vector<int> &n) { sort(n.begin(), n.end(), cmp); string ans = ""; for (auto i : n) { ans += to_string(i); } int i = 0; while (i < ans.size() - 1 && ans[i] == '0') { i++; } return ans.substr(i); }};
Given a list of non-negative integers nums
, arrange them such that they form the largest number and return it.
Since the result may be very large, so you need to return a string instead of an integer.
Example 1:
Input: nums = [10,2] Output: "210"
Example 2:
Input: nums = [3,30,34,5,9] Output: "9534330"
Constraints:
1 <= nums.length <= 100
0 <= nums[i] <= 109
class Solution
{
public:
static bool cmp(int a, int b)
{
return (to_string(a) + to_string(b)) > (to_string(b) + to_string(a));
}
string largestNumber(vector<int> &n)
{
sort(n.begin(), n.end(), cmp);
string ans = "";
for (auto i : n)
{
ans += to_string(i);
}
int i = 0;
while (i < ans.size() - 1 && ans[i] == '0')
{
i++;
}
return ans.substr(i);
}
};
0 Comments
If you have any doubts/suggestion/any query or want to improve this article, you can comment down below and let me know. Will reply to you soon.