LC 0179 [M] Largest Number - ALawliet/algorithms GitHub Wiki

class Solution:
    def largestNumber(self, nums: List[int]) -> str:
        for i, n in enumerate(nums):
            nums[i] = str(n)
            
        def compare(n1, n2):
            if n1 + n2 > n2 + n1: # n1 is bigger and comes first
                return -1
            else:
                return 1
            
        nums = sorted(nums, key=cmp_to_key(compare))
        
        # [0,0] # convert to int and then back to str to handle '000'
        
        return str(int(''.join(nums)))