这个系列算是出于个人兴趣开的一个新坑吧,最近看到同学刷LeetCode算法题,就想写写那些可以一行Python代码写出来的题目,因此本专栏的文章的解题方式效率不做保证,只为追求“一行的浪漫”。

题目

题解

简单解释一下题目,给定一个非负数组nums,将这些数字拼接到一起形成一个大数,由于该数很大,需要以字符串的形式输出。本题难度为Medium。

代码

这道题的题解思路在于,你不可能遍历所有的组合情况然后选出最大的那种,这样一定会TLE的。可以考虑从字符串的角度来理解,就是两个数字字符ab是拼接成a+b还是b+a更大在Python中可以依靠等长字符串直接比大小得出结果(因此,如果输入xy,且x+y < y+x那么此时x应该在后面,因此为了契合默认的升序排序,这里输出一个负数即可)。那么只要对整个字符串列表按照这个规则进行降序排序(内部其实是逐个比较的过程),那么排序的结果其实就是最大数构成的顺序,将他们顺次拼接到一起即可。这里需要注意的是,因为输入非负,所以可能是全0,这时候输出会是000这种格式,这里因为一行不便判断,所以用int函数检查后再转为str输出。

class Solution:def largestNumber(self, nums: List[int]) -> str:return str(int("".join(sorted(map(str, nums), key = functools.cmp_to_key(lambda x,y: 1 if x+y < y+x else -1)))))

从下面的提交反馈来看,效率不是很高(时间复杂度为O(N∗log(N))O(N* log(N))O(N∗log(N)),空间复杂度为O(N)O(N)O(N)),大家也应当考虑高效的方法,部分题目的高效解法可以参考我的仓库源码。

0179-Largest Number( 最大数)相关推荐

  1. largest number java_将给定的数组组成最大的数 Largest Number

    问题: Given a list of non negative integers, arrange them such that they form the largest number. For ...

  2. LeetCode:Largest Number - 求整型数组中各元素可拼合成的最大数字

    2019独角兽企业重金招聘Python工程师标准>>> 1.题目名称 Largest Number(求整型数组中各元素可拼合成的最大数字) 2.题目地址 https://leetco ...

  3. [每日编程]求 largest Number - 给出一组非负整数,求这些非负整数可以拼接出的最大数字...

    英文:Given a list of non negative integers, arrange them such that they form the largest number. 中文:给出 ...

  4. [LeetCode]179. Largest Number

    [LeetCode]179. Largest Number 题目描述 解题思路 求最大的数,在数组中对于每一位数字数值越大应当越靠前,如:9 > 5,所以9应该在5之前 需要考虑的是对于不同位数 ...

  5. 179 Largest Number

    题目链接:https://leetcode.com/problems/largest-number/ 题目: Given a list of non negative integers, arrang ...

  6. [LeetCode]179.Largest Number

    [题目] Given a list of non negative integers, arrange them such that they form the largest number. For ...

  7. LeetCode(179) Largest Number

    题目如下: Given a list of non negative integers, arrange them such that they form the largest number. Fo ...

  8. [leetcode]179 Largest Number

    问题描述: Given a list of non negative integers, arrange them such that they form the largest number. Fo ...

  9. Leetcode 179 Largest Number

    Leetcode 179 Largest Number 题目 思路 代码 优化 题目 Given a list of non negative integers, arrange them such ...

  10. C#LeetCode刷题之#747-至少是其他数字两倍的最大数( Largest Number At Least Twice of Others)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3746 访问. 在一个给定的数组nums中,总是存在一个最大元素 ...

最新文章

  1. entity framework .core常用技巧
  2. 谷歌量子计算登上Nature封面,首次实现量子优越性,里程碑式突破
  3. python编程的条件语句_Python 条件语句
  4. 作者招募 | 加入PaperWeekly,让你的文字被更多人看到
  5. Android 中文API合集(4)(102篇)(chm格式)
  6. linux命令菜鸟ping,Linux ping命令
  7. BFS——广度优先算法(Breadth First Search)
  8. 避免Eclipse经常出现Out Of Memory
  9. Pandas 数据处理三板斧,你会几板?
  10. 图:出场顺序号码随机抽取及公开展示,并行随机抽取多个题目号码及公开展示-软件原型设计
  11. MAC常用命令和常用软件列表
  12. 苹果开发者公司账号注册流程注册新的苹果Apple Id并双重验证步骤
  13. 猜拳小游戏java_java 猜拳小游戏
  14. 田忌赛马c语言程序设计,关于c语言的田忌赛马问题。
  15. 我的世界java无限水_我的世界基岩版:如何获得无限水?这里有5种方法,最后一种无中生有...
  16. 华为鸿蒙手机版要2021开源,鸿蒙系统再起疑云:开源版和手机版完全不同,后者还有安卓彩蛋...
  17. 怎么删除计算机c盘应用,怎样删除电脑c盘中的垃圾
  18. 每日安全简讯20160715
  19. 从Spy Mouse看App Store的推广方法
  20. WGS84、GCJ-02、BD-09、图吧坐标简介及坐标转换实现(java版)

热门文章

  1. Java NIO 三件套
  2. 加速数据读取的利器-缓存及分布式存储
  3. MybatisPlus实现乐观锁
  4. 用户密码登录改造实现
  5. Zuul:Cookie和动态路由
  6. oracle 分析函数、GROUPING函数
  7. java gridlayout 设置列宽_java 利用GridBagLayout布局时,如何设置单列列宽?
  8. go websocket 关闭_Go实战--使用之gorilla/websocket
  9. 201114阶段二qt自定义图元类
  10. RMAN删除归档日志不释放问题