阿里Java算法面试题:整数数组组合难题成 “拦路虎”,求解惑

createh52个月前 (05-06)技术教程20

36岁又失业了,之前经常加班,现在好了,又焦虑的;简历投到 “手软” 毫无回音,阿里外包面试栽在这道数组组合题,同行们也这样吗?下面给出deepseek的答案,共勉

算法题目:题目整数数组,组合后返回最大的组合数,列:[2,5,30,34,9] 返回 9534302;

public class demo {

    public static void main(String args[]) {

        int[] arr = { 2,5,30,34,9};
        System.out.println(getMax(arr));
    }

    public static String getMax(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();
    }


}

相关文章

java使用二维数组开发五子棋(java使用二维数组开发五子棋的方法)

首先看界面:今天先看看界面,明天再公布详细代码!直接可以加公众号machine_matrix也可以查看代码!...

Java 探秘:如何找出数组中重复的数字

在编程的世界里,处理数组数据是一项基础且常见的任务。其中,找出数组中重复的数字这一问题,不仅考验对数组操作的熟悉程度,还涉及到多种算法与数据结构的应用。今天,我们就深入探讨如何使用 Java 解决这一...