zoukankan      html  css  js  c++  java
  • 剑指Offer(Java版)第三十七题:输入一个正整数数组,把数组里所有数字拼接起来排成一个数, 打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321}, 则打印出这三个数字能排成的最小数字为321323。

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

    import java.util.*;

    public class Class37 {

    public String PrintMinNumber(int [] numbers){
    if(numbers == null || numbers.length <= 0){
    return "";
    }
    ArrayList<String> zuhe = new ArrayList<String>();
    for(int number : numbers){
    zuhe.add(String.valueOf(number));
    }
    Collections.sort(zuhe,new Comparator<String>(){
    public int compare(String s1, String s2){
    String a1 = s1 + s2;
    String a2 = s2 + s1;
    return a1.compareTo(a2);
    }
    });
    StringBuilder s = new StringBuilder();
    for(String str : zuhe){
    s.append(str);
    }
    return s.toString();

    }
    public void test(){
    int[] numbers = new int[]{3,32,321};
    System.out.println(PrintMinNumber(numbers));
    }

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Class37 c = new Class37();
    c.test();

    }

    }

  • 相关阅读:
    spring总结
    mybatis总结
    HttpClient,okhttp,Jodd-http 使用上的差异
    RPC序列化
    RPC是什么? (学习笔记)
    MySQL普通索引与唯一索引
    MySQL 存储引擎
    TCP的流量控制和拥塞控制
    【转载】Windows自带.NET Framework版本大全
    [知识点] 总目录
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12517217.html
Copyright © 2011-2022 走看看