小编Jun*_*ior的帖子

找不到适合sort(int [],<anonymous Comparator <Integer >>)的方法

算法问题:给定一个非负整数列表,对其进行排列,以使其形成最大数。

例如,给定[3,30,34,5,9],最大的形成数是9534330。

注意:结果可能非常大,因此您需要返回字符串而不是整数。

    public class Solution {
    public String largestNumber(int[] num) {
        Arrays.sort(num, new java.util.Comparator<Integer>() {
            @Override
            public int compare(Integer a, Integer b) {
                String s1 = String.valueOf(a), s2 = String.valueOf(b);
                return Integer.parseInt(s1 + s2) - Integer.parseInt(s2 + s1);
            }
        });
        StringBuilder builder = new StringBuilder();
        for (int i = num.length - 1; i >= 0; i--)   builder.append(num[i]);
        return builder.toString();
    }
}
Run Code Online (Sandbox Code Playgroud)

结果:第3行:错误:未找到用于sort(int [],<anonymous Comparator <Integer >>)的合适方法

有人知道如何修改吗?谢谢!

感谢您提供所有详细的答案,我将代码修改为

public String largestNumber(int[] num) {
    int N = num.length;
    String[] aux …
Run Code Online (Sandbox Code Playgroud)

java arrays sorting algorithm

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

algorithm ×1

arrays ×1

java ×1

sorting ×1