179. 最大数

Problem: 179. 最大数

文章目录

思路

自定义排序,将字符串大的拼接到前面

复杂度

时间复杂度: O ( n l o g n , n ) O(nlogn, n) O(nlogn,n) = O ( n l o g n ) O(nlogn) O(nlogn) 排序和数组字符串化

空间复杂度: O ( n ) O(n) O(n) 字符串列表的空间

Code

Python3 复制代码
import functools

class Solution:
    def largestNumber(self, nums: List[int]) -> str:
        nums = list(map(str, nums))
        
        # 自定义排序关系
        def cmp(a, b):
            if a + b == b + a: # a = b的关系
                return 0
            if a + b > b + a: # a > b的关系
                return 1 
            else: # a < b的关系
                return -1
        nums.sort(key=functools.cmp_to_key(cmp), reverse=True)
        return ''.join(nums) if nums[0] != '0' else '0'
相关推荐
南境十里·墨染春水7 小时前
C++ 工厂模式:从入门到进阶,彻底掌握对象创建的艺术
开发语言·c++·算法
@insist1238 小时前
系统架构设计师-实时性评价、调度算法与内核架构选型
算法·架构·系统架构·软考·系统架构设计师·软件水平考试
一只齐刘海的猫13 小时前
【Leetcode】找到字符串中所有字母异位词
算法·leetcode·职场和发展
海清河晏11114 小时前
数据结构 | 八大排序
数据结构·算法·排序算法
liulilittle14 小时前
固定数组时间轮的槽过载优化:桶链表与批次执行
网络·数据结构·链表
IronMurphy15 小时前
【算法五十七】146. LRU 缓存
算法·缓存
Irissgwe15 小时前
数据结构-栈和队列
数据结构·c++·c·栈和队列
两片空白15 小时前
数据容器集合set/frozenset
数据结构
凌波粒15 小时前
LeetCode--108.将有序数组转换为二叉搜索树(二叉树)
算法·leetcode·职场和发展