0
点赞
收藏
分享

微信扫一扫

leetcode179. 最大数(java)

狗啃月亮_Rachel 2022-04-26 阅读 58

我总是无脑做题 然后测试用例过了10% 无语了 好菜

好好学吧 害 和剑指offer里面的类似 只不过一个是最小一个最大 都是排序 核心思想就是贪心

剑指 Offer 45. 把数组排成最小的数

不过找最大数数要注意 第一个数为零的话 直接返回字符串“0” 

class Solution {
    public String largestNumber(int[] nums) {
        String[] s = new String[nums.length];
        for(int i = 0; i < nums.length; i++){
            s[i] = String.valueOf(nums[i]);
        }
        
        Arrays.sort(s, (x, y) -> (y + x).compareTo(x + y));
        //如果排序后的第一个元素是0,那后面的元素肯定小于或等于0,则可直接返回0
        if(s[0].equals("0")) return "0";
        StringBuffer ans = new StringBuffer();
        for(String as : s){
            ans.append(as);
        }
        return ans.toString();
    }
}
举报

相关推荐

0 条评论