给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。

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

示例 1:

输入:nums = [10,2]
输出:“210”
示例 2:

输入:nums = [3,30,34,5,9]
输出:“9534330”
示例 3:

输入:nums = [1]
输出:“1”
示例 4:

输入:nums = [10]
输出:“10”

解题思路

通过对数组的元素转化为字符串再进行排序,找出字典序较大的字符串排在前面

代码

class Solution {public String largestNumber(int[] nums) {int n=nums.length;String[] strings = new String[n];for (int i = 0; i < n; i++) {strings[i]=String.valueOf(nums[i]);}Arrays.sort(strings, new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {return (o2+o1).compareTo(o1+o2);}});StringBuilder stringBuilder = new StringBuilder();for (String s : strings) {stringBuilder.append(s);}return stringBuilder.charAt(0)=='0'?"0":stringBuilder.toString();}
}

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. 最大数 解题思路及C++实现

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

  4. leetcode 179 最大数

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

  5. leetcode 179. 最大数

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

  6. 【LeetCode】179. 最大数

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

  7. C#LeetCode刷题-排序

    排序篇 # 题名 刷题 通过率 难度 56 合并区间 31.2% 中等 57 插入区间 30.4% 困难 75 颜色分类 48.6% 中等 147 对链表进行插入排序 50.7% 中等 148 排序链 ...

  8. 179. 最大数 largestNumber

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

  9. Leetcode 179 Largest Number

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

最新文章

  1. 我国网络安全人才培养缺口巨大
  2. 大年初一,今年的春晚你看了吗?
  3. F-35战机头盔:揭密世界最先进的显示系统(HMDS)
  4. Hive 数仓中常见的日期转换操作
  5. 使用ADO.NET的参数集合来有效防止SQL注入漏洞
  6. ASP.NET Core CORS 简单使用
  7. 得到指定进程所有窗口。显示 影藏 置顶。
  8. visual studio code怎么改成中文?Visual Studio Code Insiders for Mac中文修复版
  9. VSCode瞎折腾记
  10. 并发编程之进程池,线程池 和 异步回调,协程
  11. 进程间通信-字符串的传递
  12. AS3 Signals之入门篇
  13. 一步一步教你搭建外卖cps小程序
  14. wps office2019PC版和Mac版_来试试这款政府版WPS吧
  15. 漏洞复现篇——ewebeditor编辑器解析漏洞
  16. 切尔诺贝利_切尔诺贝利泰坦尼克号的自然恢复历史以及复杂系统的课程
  17. Tomcat做成系统服务
  18. 图形《R数据可视化手册》中文PDF源代码+《R数据科学》中文PDF源代码
  19. Linux服务器开发,开源框架log4cpp和日志模块实现
  20. 3.4 数据预处理(一) - 数据集成(Data Integration)

热门文章

  1. 【Linux网络编程学习】预备知识(网络字节序、IP地址转换函数、sockaddr数据结构)
  2. 我们究竟还要学习哪些Android知识?附赠课程+题库
  3. 面试字节跳动Android工程师该怎么准备?深度解析,值得收藏
  4. pose estimation papers and datasets
  5. WPF中解决内存泄露的几点提示与解决方法
  6. 移除html,jsp中的元素
  7. JMETER从JSON响应中提取数据
  8. 经典:区间dp-合并石子
  9. Python网络编程之TCP服务器客户端(二)
  10. 第五百一十八天 how can I 坚持