把数组排成最小的数(Java实现)
来源:互联网 发布:广州淘宝拍摄基地 编辑:程序博客网 时间:2024/06/14 13:37
本题为剑指offer面试题33
牛客网测试地址:https://www.nowcoder.com/questionTerminal/8fecd3f8ba334add803bf2a06af1b993
- 时间限制:1秒 空间限制:32768K
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
package go.jacob.day508;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;public class Demo1 {public String PrintMinNumber(int[] numbers) {// 考虑无效输入if (numbers == null||numbers.length==0)return null;int N = numbers.length;ArrayList<String> list = new ArrayList<String>();for (int i = 0; i < N; i++) {list.add(String.valueOf(numbers[i]));}// 自定义比较器:默认比较器是比较每一个元素,不能满足要求Collections.sort(list, new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {String s1 = (String) o1;String s2 = (String) o2;return (s1 + s2).compareTo(s2 + s1);}});// 用StringBuilder效率比StringBuffer和String高StringBuilder s = new StringBuilder();for (String str : list) {s = s.append(str);}return s.toString();}}
0 0
- 把数组排成最小的数(Java实现)
- 把数组排成最小的数java实现
- java 把数组排成最小的数
- 把数组排成最小的数 java
- 剑指offer:把数组排成最小的数(java)
- 剑指offer-把数组排成最小的数(Java)
- 把数组排成最小的数(数组)
- 把数组排成最小的数--总结
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数--总结
- 把数组排成最小的数--总结
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- 把数组排成最小的数
- doom3 步行IK编辑器 和 粒子编辑器
- 数据压缩实验四:DPCM 压缩系统的实现和分析
- 字符串中的快速模式匹配0
- 兼容性问题
- Linux下源码编译安装配置SVN服务器
- 把数组排成最小的数(Java实现)
- C++抽象编程——回溯算法(1)——迷宫问题
- 《数据结构与算法》--快速排序及插入排序
- Android基础入门
- leetcode week11
- C++ 涉及到位域的sizeof
- webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
- 硬盘转速和平均寻道时间
- 基于 Python 的数据结构与算法分析学习记录(6-10)—— 二叉堆实现