【贪心】牛客网:把数组排成最小的数
输入一个非负整数数组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();}
}
【贪心】牛客网:把数组排成最小的数相关推荐
- 《剑指offer》-- 把数组排成最小的数、丑数、二进制中1的个数、表示数值的字符串、替换空格
一.把数组排成最小的数: 1.题目: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为 ...
- 【剑指offer-Java版】33把数组排成最小的数
把数组排成最小的数 难点在于比较规则的确定以及比较规则的正确性证明 比如:仅仅是局部的两个数字的顺序较小,如何保证整个数组按此规则进行排序后达到全局的较小 书中关于这一点的证明直接用的反证法,忘的差不 ...
- 33:把数组排成最小的数
/*** 面试题33:把数组排成最小的数* 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.* 例如输入数组{3,32,321},则打印出这三个数字能排成的 ...
- 算法:把数组排成最小的数
* @Description 把数组排成最小的数* @问题:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.* 例如输入数组{3,32,321},则打印出这 ...
- 数据结构与算法--将数组排成最小的数
将数组排成最小的数 题目:输入一个正整数的数组,将数组中所有数字拼接在一起排列成一个新的数,打印能拼接出来的所有数字中最小的一个, 案例:输入数组{12,4,55},则能打印出最小的数组是:12455 ...
- 【LeetCode】剑指 Offer 45. 把数组排成最小的数
[LeetCode]剑指 Offer 45. 把数组排成最小的数 文章目录 [LeetCode]剑指 Offer 45. 把数组排成最小的数 package offer;import java.uti ...
- printf打印数组_(45)C++面试之把数组排成最小的数
// 面试题45:把数组排成最小的数 // 题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼 // 接出的所有数字中最小的一个.例如输入数组{3, 32, 321},则打印出这3 ...
- 列表转化成数组_30. 把数组排成最小的数
把数组排成最小的数 题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为3213 ...
- 面试题45. 把数组排成最小的数
题目: 面试题45. 把数组排成最小的数 题解: 1. 题解一: 2. 题解二: * 解题思路:* 先将整型数组转换成String数组,然后将String数组排序,最后将排好序的字符串数组拼接出来.关 ...
- 牛客网 PTA乙级真题 1003 数素数
数素数 (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 令Pi表示第i个素数.现任给两个正整数M &l ...
最新文章
- Python七大原则,24种设计模式
- Silverlight实例教程 - Navigation导航框架系列汇总
- linux push path,Linux系统shell使用几点摘录(二)
- STM32开发 -- 主天线和分集天线
- 数据挖掘工具weka使用
- 【TensorFlow-windows】学习笔记一——基础理解
- C++模板类与Java泛型类
- 一加8T真机渲染图泄露:后置四摄+双闪光灯
- 国潮国粹剪纸风京剧人物PSD素材,让东方韵味更浓
- 警惕!不要让页面响应时间成为应用性能指标上的杠精
- gnome-terminal 快捷键
- GoDaddy域名续费省钱妙招及取消隐私保护的方法
- 数据库与表的操作之创建表(CREATE TABLE)
- 用python给游戏加上音效_添加声音到你的Python游戏
- SVGA动画在直播源代码的运用——直播礼物的实现
- 坐标计算距离公式 火星坐标系_地图坐标转换 -- 火星坐标与GPS坐标
- 一个高效的积分兑换商城系统怎么搭建
- 安装Ubuntu虚拟机
- 一招,提高 Github 成员微信群运营效率
- x64dbg调试器使用
热门文章
- Effective C# 原则22:用事件定义对外接口(译)
- asp.net无法调试的解决方法(从安装配置步骤角度来看)
- Serializable 接口与 Java 序列化与反序列化
- 计算机科学常见工具书清单、项目开发清单
- Head First 设计模式 —— 装饰器模式与门面模式
- 深度学习实战 Tricks —— 梯度消失与梯度爆炸(gradient exploding)
- C Tricks(十四)—— 余数
- numpy 辨异 (五)—— numpy.ravel() vs numpy.flatten()
- c语言居中三角形乘法表,用C语言输出四种三角形的九九乘法表
- mysql数据库中如何创建角色_MySQL数据库如何创建用户呢?