给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。

示例 1:

输入: [10,2]
输出: 210

示例 2:

输入: [3,30,34,5,9]
输出: 9534330

说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数。

解题思路:

和普通的排序不一样的是,不是比较数或者字符串的大小,而是比较拼接后字符串的大小。

python3实现:

from functools import cmp_to_key
def largestNumber(nums):num_to_str = [str(i)for i in nums]num_to_str.sort(key=cmp_to_key(lambda a, b: (int(a + b) > int(b + a)) - (int(a + b) < int(b + a))), reverse=True)return '0' if num_to_str[0] == '0' else ''.join(num_to_str)

python3比python2少了cmp参数,用com_to_key可以完成相应的功能。

from functools import cmp_to_keynums = [1, 3, 2, 4]
nums.sort(key=cmp_to_key(lambda a, b: a - b))
print(nums)  # [1, 2, 3, 4]

leetcode 179 最大数相关推荐

  1. leetcode 179.最大数

    leetcode 179.最大数 题干 给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数. 注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数. 示例 ...

  2. LeetCode 179. 最大数(自定义谓词函数--Lambda表达式--排序)

    1. 题目 给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数. 示例 1: 输入: [10,2] 输出: 210示例 2: 输入: [3,30,34,5,9] 输出: 9534330 说明: ...

  3. leetcode 179. 最大数

    给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数. 示例 1: 输入: [10,2] 输出: 210 示例 2: 输入: [3,30,34,5,9] 输出: 9534330 说明: 输出结果 ...

  4. Leetcode 179. 最大数 解题思路及C++实现

    解题思路: 使用C++中的优先队列priority_queue,通过自定义比较函数cmp,来对nums数组进行排序.最后按排序结果,顺序将nums中的数push_back进字符串res中,即得到结果. ...

  5. leetcode 179. 最大数(排序)

    给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数. 注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数. 示例 1: 输入:nums = [10,2] ...

  6. 【LeetCode】179. 最大数

    文章目录 题目[179. 最大数](https://leetcode-cn.com/problems/largest-number/) 解题思路 注意: 步骤: 代码 题目179. 最大数 给定一组非 ...

  7. 179. 最大数 golang (自定义sort)

    179. 最大数 给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数. 示例 1: 输入: [10,2] 输出: 210 示例 2: 输入: [3,30,34,5,9] 输出: 9534330 ...

  8. [LeetCode]179. Largest Number

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

  9. 179. 最大数 largestNumber

    >179. 最大数< >largestNumber< 一.解题思路 1.解法一( Java ) 解法思路:字典序+比较器 首先将 nums 中的数转换成 String 类型,然 ...

最新文章

  1. Flutter retrofit:only “package“ and “asset“ schemes supported
  2. java学习(二)--- 变量类型
  3. 【mybatis】插入操作更新id
  4. 记录PHP的执行时间
  5. XML:体验学习的乐趣之XML总结
  6. DBCC CHECKIDENT 和SET IDENTITY_INSERT table OFF
  7. 使用abd工具查看安卓设备cpu处理器是32位或64位
  8. 为什么要选择crm私有化布署?
  9. mysql数据库压缩_Mysql压缩解决方案
  10. AspriseOCR图片识别
  11. 三星新平板 Galaxy Note 10.1全拆解
  12. 微信对账单--每日定时任务获取昨日微信支付账单
  13. mule seda 学习二
  14. UCOSIII系统内部任务
  15. JavaScript中的LHS和RHS查询
  16. 卸载鲁大师后 计算机无法启动项,win7电脑鲁大师开机启动项关闭的图文教程
  17. 浅谈AI算力优化技术
  18. 畅捷通(chanjet)T+各版本
  19. Redis下载安装与配置(linux)
  20. Google I/O 2018:Make Good Things Together

热门文章

  1. html5创建三次贝塞尔曲线,HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
  2. 使用css形变实现一个立方体
  3. 深度学习 | 训练及优化方法
  4. [C#]SignalR实现扫码登录(B/S,C/S)
  5. html如何设置打印分页打印出来,网页中如何用 CSS 设置打印分页符
  6. uni-app 倒计时组件
  7. STM32F1xx_StdPeriph_Driver——SPI
  8. android手机内存使用情况分析
  9. Linux内核写ddr物理地址,DM6437-读写DDR测试过程
  10. 散列表(开放定址法)