【剑指offer】面试题45:把数组排成最小的数
輸入一個正整數數組,把數組里所有數字拼接起來排成一個數,打印能拼接出的所有數字中最小的一個。
?
示例 1:
輸入: [10,2]
輸出: "102"
示例?2:
輸入: [3,30,34,5,9]
輸出: "3033459"
?
提示:
0 < nums.length <= 100
說明:
輸出結果可能非常大,所以你需要返回一個字符串而不是整數
拼接起來的數字可能會有前導 0,最后結果不需要去掉前導 0
代碼:
class?Solution?{
????public?String?minNumber(int[]?nums)?{
????????if(nums==null||nums.length==0)
????????{
????????????return?"?";
????????}
????????List<Integer>?list?=?new?LinkedList<>();
????????for(int?i=0;i<nums.length;i++)
????????{
????????????list.add(nums[i]);
????????}
????????Collections.sort(list,new?Comparator<Integer>(){
????????????@Override
????????????public?int?compare(Integer?o1,Integer?o2)
????????????{
????????????????String?s1?=?o1+""?+o2;
????????????????String?s2?=?o2+""+o2;
????????????????return?s1.compareTo(s2);
????????????}
????????});
????????StringBuilder?result?=?new?StringBuilder();
????????for(int?i:list)
????????{
????????????result.append(i);
????????}
????????return?result.toString();
????}
}
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的【剑指offer】面试题45:把数组排成最小的数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: eclipse中下载spring-too
- 下一篇: Leetcode--1019. 链表中的