179. 最大数

179. Largest Number

题目描述

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

每日一算法2019/5/24Day 21LeetCode179. Largest Number

示例 1:

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

示例 2:

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

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

Java 实现

import java.util.Arrays;
import java.util.Comparator; class Solution {
public String largestNumber(int[] nums) {
if (nums == null || nums.length == 0) {
return null;
}
int n = nums.length;
String[] strArr = new String[n];
for (int i = 0; i < n; i++) {
strArr[i] = Integer.toString(nums[i]);
}
Comparator<String> comp = new Comparator<String>() {
@Override
public int compare(String str1, String str2) {
String s1 = str1 + str2;
String s2 = str2 + str1;
return s2.compareTo(s1);
}
};
Arrays.sort(strArr, comp);
if (strArr[0].charAt(0) == '0') {
return "0";
}
StringBuffer sb = new StringBuffer();
for (String str : strArr) {
sb.append(str);
}
return sb.toString();
}
}

参考资料

最新文章

  1. Spring 4 官方文档学习(十四)WebSocket支持
  2. 【leetcode】Best Time to Buy and Sell Stock III
  3. Linux 有问必答:如何知道进程运行在哪个 CPU 内核上?
  4. c# .net sha256 16进制 64位 签名
  5. win8安装matlab7.0
  6. 【VB】StrConv函数 vbUnicode用法
  7. Codeforces Round #253 (Div. 2), problem: (B)【字符串匹配】
  8. 一个小时学会jQuery
  9. 结对开发五--对一千个数long型的一维数组求最大子数组的和
  10. Python人脸识别最佳教材典范,40行代码搭建人脸识别系统!
  11. 点击&lt;a&gt;页面跳转解决办法/跨域请求,JSONP
  12. 举例子来说明Python引用和对象
  13. 在c#中 RemoveAt、 Remove、delete用法区别
  14. JVM 及 垃圾回收机制原理
  15. flexbox与grid layout的区别
  16. VMware workstation 14 Pro下载、安装及激活码
  17. 【codeforces】Bear and Three Balls(排序,去重)
  18. node上的__dirname和./的区别
  19. jq移除最后一个class的值
  20. nsis源码 nsisdialogdesigner

热门文章

  1. FCS省选模拟赛 Day3
  2. 怎么用switchhost
  3. fluent-动网格-动态层
  4. ubuntu之路——day8.5 学习率衰减learning rate decay
  5. C# WinForm中的一些小问题
  6. DELPHI开发LINUX插件架构的程序
  7. 课程学习 - 人类疾病导论 | Introduction To Human Disease
  8. Java TreeMap使用
  9. Socket通信(1):搭建开发环境
  10. 小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_1、SpringBoot2.x课程介绍和高手系列知识点