179. 最大数

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

示例 1:

输入: [10,2]

输出: 210

示例 2:

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

输出: 9534330

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

class Solution {
/**
* @param nums 一组非负整数
* @return - String.compareTo() 是按照 lexicographically, 字典顺序排列的
* - 利用compareTo, 来倒序排列 string, 刚好就得到我们要的结果.
*/
public String largestNumber(int[] nums) {
//合法性
if (nums == null || nums.length == 0) {
return "";
}
//数字数组->字符数组 转化
String[] strArr = new String[nums.length];
for (int i = 0; i < strArr.length; i++) {
strArr[i] = String.valueOf(nums[i]);
}
//重写排序规则 12-14ms
// Arrays.sort(strArr, new Comparator<String>() {
// @Override
// public int compare(String o1, String o2) {
// //继承此方法的时候,要自定义比较器,conpareTo方法返回值为1(升序),0,-1(降序)。
// //返回正值 交换;负值不交换
// return (o2 + o1).compareTo((o1 + o2));
// }
// });
//Lambda表达式 重写排序规则 速度慢了5倍 72-82ms
Arrays.sort(strArr, (o1, o2) -> (o2 + o1).compareTo(o1 + o2));
//字符数组->字符串 转化
StringBuilder sb = new StringBuilder();
for (String aStrArr : strArr) {
sb.append(aStrArr);
}
String result = sb.toString();
//特殊情况 若干个零
if (result.charAt(0) == '0') {
result = "0";
}
return result;
}
}

Java实现 LeetCode 179 最大数的更多相关文章

  1. LeetCode 179. 最大数(Largest Number) 21

    179. 最大数 179. Largest Number 题目描述 给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数. 每日一算法2019/5/24Day 21LeetCode179. La ...

  2. Leetcode 179.最大数

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

  3. 力扣Leetcode 179. 最大数 EOJ 和你在一起 字符串拼接 组成最大数

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

  4. Java for LeetCode 179 Largest Number

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

  5. LeetCode 179. 最大数(Largest Number)

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

  6. leetcode 179. 最大数 解题报告

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

  7. Java for LeetCode 216 Combination Sum III

    Find all possible combinations of k numbers that add up to a number n, given that only numbers from ...

  8. Java for LeetCode 214 Shortest Palindrome

    Given a string S, you are allowed to convert it to a palindrome by adding characters in front of it. ...

  9. Java for LeetCode 212 Word Search II

    Given a 2D board and a list of words from the dictionary, find all words in the board. Each word mus ...

随机推荐

  1. PDF怎么转换成Word,免费,完整的那种

      简介 PDF可以分为文字型PDF和图片型PDF,文字型PDF即可以选中文字内容的PDF,反之图片型PDF即无法选中文字的PDF,其内容实际上是图片. 本文针对不同类型,介绍PDF转Word方法,可 ...

  2. Spark2.4.5集群安装与本地开发

    下载 官网地址:https://www.apache.org/dyn/closer.lua/spark/spark-2.4.5/spark-2.4.5-bin-hadoop2.7.tgz 验证Java ...

  3. shell脚本命令 运行python文件&python命令行运行python代码

    单独的python文件运行的时候 报错: 在shell脚本中,运行shell脚本命令:在Python命令行中,运行Python代码.然而,“python hello.py”是一个脚本命令,不是pyth ...

  4. ql的python学习之路-day15

    前言:本节主要讲解的是文件路径 在实际的软件开发中会设计一个项目的文件目录,按照执行包bin.配置包config.核心包core等来设计,在执行包里面要运行核心包里的主程序mian,由于不在同一级的目 ...

  5. 详细讲解使用Sublime Text 3进行Markdown编辑和实时预览

    所需安装的插件 Markdown Editing // Markdown编辑和语法高亮 Markdown Preview// Markdown导出html预览 LiveReload// 时时预览 安装 ...

  6. P3366【模板】最小生成树

    P3366[模板]最小生成树 Kruskal #include <bits/stdc++.h> using namespace std; typedef long long ll; ; ; ...

  7. mvc 页面上循环datatable

    @using System.Data; @{ Layout = null; } @{ DataTable DataServiceStaff = ViewBag.ServiceStaff as Data ...

  8. easyui API

    http://www.jeasyuicn.com/api/docTtml/index.htm

  9. 第三方动画库 Lottie嵌入记录

    预览网址 https://lottiefiles.com/preview   在Podfile文件中加入 pod 'lottie-ios’ pod install 把 lottie-ios加入到项目中 ...

  10. python小练习-列表、字典

    1. 切片(Slice) L=['a','b','c','d'] L[0:2]表示从索引0开始取,直到索引2为止,但不包括索引2.即索引0,1,正好是2个元素 如果第一个索引是0,还可以省略: L[: ...