179. Largest Number¶
Difficulty: Medium
LeetCode Problem View on GitHub
179. Largest Number
Medium
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 <= 1000 <= nums[i] <= 109
Solution¶
class Solution {
static class custom_sort implements Comparator<String> {
@Override
public int compare(String first, String second) {
String a = first + second;
String b = second + first;
return b.compareTo(a);
}
}
public String largestNumber(int[] nums) {
int n = nums.length;
ArrayList<String> res = new ArrayList<>();
for (int ele : nums) res.add(String.valueOf(ele));
Collections.sort(res, new custom_sort());
if (res.size() > 0 && res.get(0).equals("0")) return "0";
String ans = "";
for (String temp : res) ans += temp;
return ans;
}
}
Complexity Analysis¶
- Time Complexity:
O(?) - Space Complexity:
O(?)
Approach¶
Detailed explanation of the approach will be added here