日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

算法:把数组排成最小的数

發布時間:2023/12/9 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 算法:把数组排成最小的数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
* @Description 把數組排成最小的數
* @問題:輸入一個正整數數組,把數組里所有數字拼接起來排成一個數,打印能拼接出的所有數字中最小的一個。
* 例如輸入數組{3,32,321},則打印出這三個數字能排成的最小數字為321323。
* @思路:
* 1:將數組轉化為list;
* 2:對list進行排序,重寫compara構造方法,最小排序;
* 3:對排序后的list進行累加; jdk中關于重寫compare方法:

?

compareTo方法::

?

?

?

?

package LG.nowcoder;import java.util.ArrayList; import java.util.Collections; import java.util.Comparator;/*** @Author liguo* @Description 把數組排成最小的數* @問題:輸入一個正整數數組,把數組里所有數字拼接起來排成一個數,打印能拼接出的所有數字中最小的一個。* 例如輸入數組{3,32,321},則打印出這三個數字能排成的最小數字為321323。* @思路:* @Data 2018-08-17 8:57*/ public class Solution13 {public String PrintMinNumber(int [] numbers) {int n;String s="";ArrayList<Integer> list=new ArrayList<Integer>();n=numbers.length;for(int i=0;i<n;i++){list.add(numbers[i]);//將數組放入arrayList中 }//實現了Comparator接口的compare方法,原來的compare方法是從小到大排序,所以需要重寫;//將集合元素按照compare方法的規則進行排序Collections.sort(list,new Comparator<Integer>(){@Overridepublic int compare(Integer int1, Integer int2) {String s1=int1+""+int2;String s2=int2+""+int1;return s1.compareTo(s2) ; //對于string進行從小到大的排序; }});for(int j:list){s+=j;}return s;} }

?

?

轉載于:https://www.cnblogs.com/liguo-wang/p/9491557.html

總結

以上是生活随笔為你收集整理的算法:把数组排成最小的数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。