每日算法之把数组排成最小的数(将数组中最小的数输出)

  本篇文章为你整理了每日算法之把数组排成最小的数(将数组中最小的数输出)的详细内容,包含有数组排成最小数 leetcode 将数组中最小的数输出 把数组从小到大排序 数组怎么求最小值 每日算法之把数组排成最小的数,希望能帮助你了解 每日算法之把数组排成最小的数。

  输入一个非负整数数组numbers,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。
 

  例如输入数组[3,32,321],则打印出这三个数字能排成的最小数字为321323。
 

  1.输出结果可能非常大,所以你需要返回一个字符串而不是整数
 

  2.拼接起来的数字可能会有前导 0,最后结果不需要去掉前导 0

  step 1:优先判断空数组的特殊情况。
 

  step 2:将数组中的数字元素转换成字符串类型。
 

  step 3:重载排序比较为字符串类型的x + y y + x,然后进行排序。
 

  step 4:将排序结果再按照字符串拼接成一个整体。

  

package mid.JZ45把数组排成最小的数;

 

  import java.util.Arrays;

  import java.util.Comparator;

  public class Solution {

   public String PrintMinNumber(int [] numbers) {

   if(numbers == null numbers.length == 0) {

   return "";

   String[] strArr = new String[numbers.length];

   for (int i = 0; i numbers.length; i++) {

   strArr[i] = numbers[i] + "";

   Arrays.sort(strArr, new Comparator String () {

   @Override

   public int compare(String o1, String o2) {

   String s1 = o1 + o2;

   String s2 = o2 + o1;

   return s1.compareTo(s2);

   StringBuilder res = new StringBuilder();

   for (String s : strArr) {

   res.append(s);

   return res.toString();

  

 

  以上就是每日算法之把数组排成最小的数(将数组中最小的数输出)的详细内容,想要了解更多 每日算法之把数组排成最小的数的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: