您的位置:首页 > 其它

把数组排成最小的数

2016-03-04 00:47 288 查看
把数组排成最小的数

参与人数:1460时间限制:1秒空间限制:32768K

本题知识点: 数组

算法知识视频讲解


题目描述

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

解析:要把他拼接起来比较,排序一下就好了,此处偷懒使用简单冒泡排序
package com.lp;

import java.util.ArrayList;

public class Solution {
public String PrintMinNumber(int [] numbers) {
for(int i=1;i<numbers.length;i++){
for(int j=1;j<=numbers.length-i;j++){
//System.out.println((""+numbers[j]+numbers[j-1]+"后加前"));
if(((""+numbers[j-1]+numbers[j]).compareTo(""+numbers[j]+numbers[j-1]))>0 ){
int t;
t=numbers[j-1];
numbers[j-1]=numbers[j];
numbers[j]=t;
}
}
}
String anString="";
for(int i=0;i<numbers.length;i++){
anString+=numbers[i];
}
return anString;
}

public static void main(String[] args) {
Solution s = new Solution();
int[] a = {3,5,1,4,2};
System.out.println(s.PrintMinNumber(a));

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: