Skip to content

179. Largest Number

Array String Greedy Sorting

Problem - 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 <= 100
  • 0 <= nums[i] <= 109

Solutions

1
2
3
4
5
class Solution:
    def largestNumber(self, nums: List[int]) -> str:
        vals = [str(val) for val in nums]
        vals.sort(key=cmp_to_key(lambda a, b: 1 if a + b < b + a else -1))
        return "0" if vals[0] == "0" else "".join(vals)

Submission Stats:

  • Runtime: 39 ms (6.23%)
  • Memory: 16.5 MB (100.00%)