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

示例 1:

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

输入: [3,30,34,5,9]
输出: 9534330
说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数。

思路:贪心,对于两个字符串,如果a+b<b+a,则交换位置。整体按这个标准排序即可。

有时候现场一时证明不了想的贪心策略是否正确,这时可以先尝试一下到底对不对,万一对了就赚了。

证明:

class Solution {private class LargerNumberComparator implements Comparator<String> {@Overridepublic int compare(String a, String b) {String order1 = a + b;String order2 = b + a;return order2.compareTo(order1);}}public String largestNumber(int[] nums) {String[] asStrs = new String[nums.length];for (int i = 0; i < nums.length; i++) {asStrs[i] = String.valueOf(nums[i]);}Arrays.sort(asStrs, new LargerNumberComparator());if (asStrs[0].equals("0")) {return "0";}String str = new String();for (String numAsStr : asStrs) {str += numAsStr;}return str;}
}

leetcode179. 最大数相关推荐

  1. 【大总结3】leetcode解题总览(算法、剑指offer、SQL、多线程、shell)

    3/22更新 剑指offer 题目链接 建议大部分题都会做,都能比较快速且准确的写出来.关于做题方式,我的建议是:一道一道刷即可,因为难度一般,不用系统的学习什么知识,遇到实在不会的就跳过即可. 我这 ...

  2. LeetCode算法题整理(200题左右)

    目录 前言 一.树(17) 1.1.后序遍历 1.2.层次遍历 1.3.中序 1.4.前序 二.回溯(20) 2.1.普通回溯 2.2.线性回溯:组合.排列.子集.分割 2.3.矩阵回溯 三.二分查找 ...

  3. 算法刷题重温(九): 排序算法来啦

    1. 写在前面 这篇文章复习排序算法, 排序算法的重要性也是不言而喻, 并且面试的时候经常会问到第K大,第K小,前K大,前K小的问题, 这往往都是排序算法的解决范畴. 在实际问题中,排序算法也是应用非 ...

  4. leetcode解题总览

    3/22更新 剑指offer 题目链接 建议大部分题都会做,都能比较快速且准确的写出来.关于做题方式,我的建议是:一道一道刷即可,因为难度一般,不用系统的学习什么知识,遇到实在不会的就跳过即可. 我这 ...

  5. LeetCode179:最大数

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

  6. HTML数字比较大小游戏,Javascript 比较两个数大小并输出最大数

    题目:在页面中添加两个单行文本框,在两个文本框中输入两个数字,使用JavaScript函数比较这两个函数大小,并使用对话框输出最大数. 实现代码如下: function maxNum() { //获取 ...

  7. java取list中最大数值_Java后台通过Collections获取list集合中最大数,最小数代码

    我就废话不多说了,大家还是直接看代码吧~ package com.jalor; import java.util.ArrayList; import java.util.Collections; im ...

  8. 从键盘输入的十个整数中的最大数和最小数

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p137 习题5 代码 原题代码 修改后的代码 测试样例 5.下面是一个从键盘输入的十个整数中的最小数和 ...

  9. 【c语言】蓝桥杯算法提高 输出三个整数的最大数

    问题描述 编写程序,输入3个整数,求出最大数并输出. 输入格式 输入三个整数,用空格分开. 输出格式 输出三个数的最大值 样例输入 5 3 4 样例输出 5 #include<stdio.h&g ...

最新文章

  1. Interpreter - 解释器模式
  2. PyTorch基础(一)-----张量(Tensor)
  3. 深度学习——02、深度学习入门 15-18
  4. [HTML5]3D标签云
  5. Visual Studio 2010 实用功能总结图解
  6. Markdown--Latex数学公式编辑
  7. posix是什么_什么是POSIX? 理查德·斯托曼(Richard Stallman)解释
  8. 数学建模(5)---煤矸石堆积问题
  9. DataGridView多线程更新数据的问题的解决办法
  10. easyexcel 导出设置标题_GitHub - niaobulashi/easy-excel: excel实现导入导出配置型通用方法项目...
  11. esxi虚拟化是基于linux吗,虚拟化 – 如何在虚拟机中运行VMWare ESX或ESXi?
  12. Xcode7 网络请求报错:The resource could not be loaded be
  13. 艾永亮:酒瓶中的战争,谁是下一瓶被拿起的葡萄酒
  14. 计算机点了睡眠怎么开机,进入睡眠模式的电脑怎样重新启动
  15. 定点数的运算 —— 逻辑移位、算术移位、循环移位
  16. receptive field,即感受野
  17. android apn xml,android 批改默认APN
  18. Tableau学习笔记-04 | 标靶图、甘特图、瀑布图
  19. 月球是从地球的哪个部分脱离出来的?
  20. Axure RP 8 介绍

热门文章

  1. 详细解析Linux /etc/passwd文件
  2. WinCE驱动开发问题精华集锦
  3. php 提取前一百个字,如何在PHP中提取字符串的前100個字符?
  4. mysql php教程,MySQL PHP语法
  5. 小数点化分数的过程_分数和小数的互化
  6. 【转】000.DICOM:DICOM标准学习路线图(初稿)!!!!!!!!!!!!
  7. 【转】SVN冲突出现场景
  8. 老王说ros的tf库
  9. Move_base理解
  10. python文本去重函数_python3.4.3下逐行读入txt文本并去重的方法