输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。

示例 1:

输入: [10,2]
输出: "102"
示例 2:

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

提示:

0 < nums.length <= 100
说明:

输出结果可能非常大,所以你需要返回一个字符串而不是整数
拼接起来的数字可能会有前导 0,最后结果不需要去掉前导 0

代码:

class Solution {

public String minNumber(int[] nums) {

if(nums==null||nums.length==0)

{

return " ";

}

List<Integer> list = new LinkedList<>();

for(int i=0;i<nums.length;i++)

{

list.add(nums[i]);

}

Collections.sort(list,new Comparator<Integer>(){

@Override

public int compare(Integer o1,Integer o2)

{

String s1 = o1+"" +o2;

String s2 = o2+""+o2;

return s1.compareTo(s2);

}

});

StringBuilder result = new StringBuilder();

for(int i:list)

{

result.append(i);

}

return result.toString();

}

}

【剑指offer】面试题45:把数组排成最小的数相关推荐

  1. 剑指Offer - 面试题45. 把数组排成最小的数(字符串排序)

    1. 题目 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个. 示例 1: 输入: [10,2] 输出: "102"示例 2: 输入: [ ...

  2. j剑指offer面试题[33]-把数组排成最小的数

    题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 思路: 可以 ...

  3. 剑指Offer:面试题33——把数组排成最小的数(java实现)(未完待续)

    问题描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 思路1: ...

  4. 面试题45. 把数组排成最小的数

    题目: 面试题45. 把数组排成最小的数 题解: 1. 题解一: 2. 题解二: * 解题思路:* 先将整型数组转换成String数组,然后将String数组排序,最后将排好序的字符串数组拼接出来.关 ...

  5. 【剑指offer-Java版】33把数组排成最小的数

    把数组排成最小的数 难点在于比较规则的确定以及比较规则的正确性证明 比如:仅仅是局部的两个数字的顺序较小,如何保证整个数组按此规则进行排序后达到全局的较小 书中关于这一点的证明直接用的反证法,忘的差不 ...

  6. 剑指offer面试题[8]-旋转数组的最小数字

    题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个 ...

  7. 剑指Offer - 面试题11. 旋转数组的最小数字(二分查找)

    1. 题目 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] ...

  8. 剑指offer面试题11. 旋转数组的最小数字(二分查找)

    题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的 ...

  9. 剑指offer——面试题45:圆圈中最后剩下的数字(孩子们的游戏)

    剑指offer--面试题45:圆圈中最后剩下的数字(孩子们的游戏) Solution1: 当年第一遍做时,自己想的垃圾算法 class Solution { public:int LastRemain ...

  10. 【LeetCode】剑指 Offer 45. 把数组排成最小的数

    [LeetCode]剑指 Offer 45. 把数组排成最小的数 文章目录 [LeetCode]剑指 Offer 45. 把数组排成最小的数 package offer;import java.uti ...

最新文章

  1. VMware虚拟机文件夹中各文件作用详解
  2. 产品管理:孵化产品 Beta 流程
  3. 纠结于ajax开发中 response的contentType 问题
  4. 数据分析常用功能:巧用门户制作功能,让多个报表一览无余
  5. 一图揭示:营销的目的、策略、战略
  6. 从零点五开始,做半个不能玩的小游戏(二)
  7. 人口预测和阻尼-增长模型_使用分类模型预测利率-第1部分
  8. 骆驼和春天的Drools决策表
  9. python把矩阵堆叠成大矩阵_python numpy 矩阵堆叠实例
  10. 信息学奥赛一本通(1116:最长平台)
  11. java使用freemaker自定义路径导出Word关键点讲解版
  12. 北语在SemEval 2022释义建模任务上斩获佳绩
  13. 金万维异速联再出大杀器 掀移动应用普及化年终热浪
  14. Abbot和Marathon比较
  15. 计算机软件安装包后缀名,软件安装包程序是什么
  16. 获取学信网学历电子版流程
  17. Hive in、exists 和 left semi join
  18. java.lang.NoSuchMethodError: No static method ..........
  19. 飞桨day-04 NLP实践作业
  20. APS智能排产帮助LNG船舶生产厂家充分利用产能,提升生产效益

热门文章

  1. [Hands On ML] 3. 分类(MNIST手写数字预测)
  2. 10.数据库中的内置函数
  3. python中的列表及注意事项
  4. python指定范围内加法代码解析
  5. Java用sqlit拆分小数_如何将SQLite列中的分隔值拆分为多列
  6. 全栈深度学习第2期: 开发套件与工具篇
  7. Google、MS和BAT教给我的面试真谛
  8. 从特征分解到协方差矩阵:详细剖析和实现PCA算法
  9. 一种基于伪标签半监督学习的小样本调制识别算法
  10. TabError的解决方法