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

例如输入数组[3,32,321],则打印出这三个数字能排成的最小数字为321323。

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

1、先将整型数组转化为字符串型数组

2、定义特定排序规则

3、用定义的排序规则对字符串型数组进行排序

4、将字符串型数组中每个元素拼接起来

5、得到最小的数

代码:

import java.util.ArrayList;
import java.util.Arrays;
public class Solution {public String PrintMinNumber(int [] numbers) {String[] st=new String[numbers.length];for(int i=0;i<numbers.length;i++){st[i]=numbers[i]+"";}Arrays.sort(st,(s1,s2)->((s1+s2).compareTo(s2+s1)));StringBuilder sb=new StringBuilder();for(String s:st){sb.append(s);}return sb.toString();}
}

【贪心】牛客网:把数组排成最小的数相关推荐

  1. 《剑指offer》-- 把数组排成最小的数、丑数、二进制中1的个数、表示数值的字符串、替换空格

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

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

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

  3. 33:把数组排成最小的数

    /*** 面试题33:把数组排成最小的数* 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.* 例如输入数组{3,32,321},则打印出这三个数字能排成的 ...

  4. 算法:把数组排成最小的数

    * @Description 把数组排成最小的数* @问题:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.* 例如输入数组{3,32,321},则打印出这 ...

  5. 数据结构与算法--将数组排成最小的数

    将数组排成最小的数 题目:输入一个正整数的数组,将数组中所有数字拼接在一起排列成一个新的数,打印能拼接出来的所有数字中最小的一个, 案例:输入数组{12,4,55},则能打印出最小的数组是:12455 ...

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

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

  7. printf打印数组_(45)C++面试之把数组排成最小的数

    // 面试题45:把数组排成最小的数 // 题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼 // 接出的所有数字中最小的一个.例如输入数组{3, 32, 321},则打印出这3 ...

  8. 列表转化成数组_30. 把数组排成最小的数

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

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

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

  10. 牛客网 PTA乙级真题 1003 数素数

    数素数 (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 令Pi表示第i个素数.现任给两个正整数M &l ...

最新文章

  1. Python七大原则,24种设计模式
  2. Silverlight实例教程 - Navigation导航框架系列汇总
  3. linux push path,Linux系统shell使用几点摘录(二)
  4. STM32开发 -- 主天线和分集天线
  5. 数据挖掘工具weka使用
  6. 【TensorFlow-windows】学习笔记一——基础理解
  7. C++模板类与Java泛型类
  8. 一加8T真机渲染图泄露:后置四摄+双闪光灯
  9. 国潮国粹剪纸风京剧人物PSD素材,让东方韵味更浓
  10. 警惕!不要让页面响应时间成为应用性能指标上的杠精
  11. gnome-terminal 快捷键
  12. GoDaddy域名续费省钱妙招及取消隐私保护的方法
  13. 数据库与表的操作之创建表(CREATE TABLE)
  14. 用python给游戏加上音效_添加声音到你的Python游戏
  15. SVGA动画在直播源代码的运用——直播礼物的实现
  16. 坐标计算距离公式 火星坐标系_地图坐标转换 -- 火星坐标与GPS坐标
  17. 一个高效的积分兑换商城系统怎么搭建
  18. 安装Ubuntu虚拟机
  19. 一招,提高 Github 成员微信群运营效率
  20. x64dbg调试器使用

热门文章

  1. Effective C# 原则22:用事件定义对外接口(译)
  2. asp.net无法调试的解决方法(从安装配置步骤角度来看)
  3. Serializable 接口与 Java 序列化与反序列化
  4. 计算机科学常见工具书清单、项目开发清单
  5. Head First 设计模式 —— 装饰器模式与门面模式
  6. 深度学习实战 Tricks —— 梯度消失与梯度爆炸(gradient exploding)
  7. C Tricks(十四)—— 余数
  8. numpy 辨异 (五)—— numpy.ravel() vs numpy.flatten()
  9. c语言居中三角形乘法表,用C语言输出四种三角形的九九乘法表
  10. mysql数据库中如何创建角色_MySQL数据库如何创建用户呢?