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'
相关推荐
红豆诗人2 分钟前
算法和数据结构--时间复杂度和空间复杂度
数据结构·算法
黎雁·泠崖7 分钟前
栈与队列之栈入门攻略:从核心概念到数组实现
c语言·数据结构
郝学胜-神的一滴8 分钟前
Linux线程使用注意事项:骈文技术指南
linux·服务器·开发语言·数据结构·c++·程序人生
高山上有一只小老虎9 分钟前
小红的字符串
java·算法
2501_9418108310 分钟前
在班加罗尔智慧教育场景中构建在线学习实时监控与高并发课程管理平台的工程设计实践经验分享
算法
星火开发设计15 分钟前
折半插入排序原理与C++实现详解
java·数据结构·c++·学习·算法·排序算法·知识
福楠17 分钟前
模拟实现list容器
c语言·开发语言·数据结构·c++·list
老鼠只爱大米19 分钟前
LeetCode算法题详解 1:两数之和
算法·leetcode·面试题·两数之和·two sum
欧阳天羲20 分钟前
ML工程师学习大纲
学习·算法·决策树
海天一色y29 分钟前
python--数据结构--链表
数据结构·链表