🌕🌗 179. 最大数

吞佛童子2022年10月10日
  • algorithm
  • array
  • String
小于 1 分钟

🌕🌗 179. 最大数

难度: 🌕🌗

问题描述

img_11.png


解法

class Solution {
    public String largestNumber(int[] nums) {
        // 思路:
        // 数组自定义排序 - (x, y) -> xy Vs ys
        int len = nums.length;
        // 转换为字符串 - 可以使用 Object 类的排序函数
        String[] array = new String[len];
        for(int i = 0; i < len; i ++) {
            array[i] = String.valueOf(nums[i]);
        }
        Arrays.sort(array, (x, y) -> {
            return (y + x).compareTo(x + y);
        });
        // System.out.println(Arrays.toString(array));
        
        if(array[0].charAt(0) == '0') {
            // 说明后面的也全是 0 直接返回
            return "0";
        }
        StringBuilder sb = new StringBuilder();
        for(String str : array) {
            sb.append(str);
        }
        return sb.toString();
    }
}

输出

img_10.png

上次编辑于: 2022/10/10 下午8:43:48
贡献者: liuxianzhishou