把数组排成最小的数

来源:互联网 发布:win读取mac硬盘软件 编辑:程序博客网 时间:2024/05/02 04:55
把数组排成最小的数
  • 参与人数: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));}}


0 0
原创粉丝点击