剑指offer之把数组排成最小的数
来源:互联网 发布:共青团中央 知乎 编辑:程序博客网 时间:2024/05/10 19:46
题目描述:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
思路:比较两个字符串s1, s2大小的时候,先将它们拼接起来,比较s1+s2,和s2+s1那个大,如果s1+s2大,那说明s2应该放前面,所以按这个规则,s2就应该排在s1前面, 按照这个思路将数组重排。
代码:
public class Solution { public String PrintMinNumber(int [] numbers) {String str = ""; for (int i=0; i<numbers.length; i++){ for (int j=i+1; j<numbers.length; j++){ int a = Integer.valueOf(numbers[i]+""+numbers[j]); int b = Integer.valueOf(numbers[j]+""+numbers[i]); if (a > b){ int t = numbers[i]; numbers[i] = numbers[j]; numbers[j] = t; } } } for (int i = 0; i < numbers.length; i++) { str += String.valueOf(numbers[i]); } return str; }}
阅读全文
0 0
- 剑指Offer之把数组排成最小的数
- 剑指offer之把数组排成最小的数
- 【剑指offer】之把数组排成最小的数
- 剑指offer之把数组排成最小的数
- 剑指offer-33:把数组排成最小的数
- 剑指offer:把数组排成最小的数
- 【剑指offer】把数组排成最小的数
- 【剑指offer】Q33:把数组排成最小的数
- 九度《剑指offer》把数组排成最小的数
- 剑指offer系列源码-把数组排成最小的数
- 剑指offer 33 把数组排成最小的数
- 剑指offer--把数组排成最小的数
- 《剑指offer》把数组排成最小的数
- 剑指offer:把数组排成最小的数
- 【剑指Offer】把数组排成最小的数
- 剑指offer—把数组排成最小的数
- 《剑指offer》——把数组排成最小的数
- 剑指offer:把数组排成最小的数
- spark2 dataframe map报错
- python 里装饰器
- 采用CPLD的MAX1032采样控制的实现方法
- 常用linux命令
- 幻方
- 剑指offer之把数组排成最小的数
- Linux 常用命令
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 F.Overlapping Rectangles
- MySQL数据库
- “软件工程(C编码实践篇)”实验报告【实验三:内部模块化的命令行菜单小程序V2.0】
- 项目经理的职责
- flash掉电备份机制
- Oracle转Mysql的时候,空文字和null的转换
- 输入某年某月某日,判断这一天是这一年的第几天?