面試:java數組內的最大組合數?

給定一個任意長度的java數組,求數組內的數能組合出來的最大整數比如說{9,98,123,32} 最大就是 99832123 

import java.util.Arrays;
import java.util.Comparator;

class Test {
    public static void main(String args[]) {

        int[] arr = { 12, 45, 356, 767, 33, 23, 35 };
        System.out.println(getMaxSum(arr));
    }

    public static String getMaxSum(int[] nums) {
        if (nums == null) {
            return "";
        }
        String[] numsStr = new String[nums.length];
        int i = 0;
        for (int num : nums) {
            numsStr[i++] = num + "";
        }
        Arrays.sort(numsStr, new Comparator<String>() {
            public int compare(String str1, String str2) {
                String temp1 = str1 + str2;
                String temp2 = str2 + str1;
                return (-temp1.compareTo(temp2));
            }
        });
        StringBuilder sb = new StringBuilder();
        for (String s : numsStr)
            sb.append(s);
        return sb.toString();
    }
}

下面這些資料是小編最近花了幾個月的時間整理出來的,想要獲取下面的資料
加羣659270626即可免費獲取
羣裏提供免費的學習指導 架構資料 以及免費的解答
不懂得問題都可以在本羣提出來 之後還會有職業生涯規劃以及面試指導

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章