题解 | #最大数,可以用快排,我直接用的APi,懒惰了#

最大数

https://www.nowcoder.com/practice/fc897457408f4bbe9d3f87588f497729

import java.util.*;


public class Solution {
    /**
     * 最大数
     * @param nums int整型一维数组 
     * @return string字符串
     */
    public String solve (int[] nums) {
        Integer[] arr = new Integer[nums.length] ;
        for(int i = 0 ; i < arr.length ; i ++) {
            arr[i] = nums[i] ;
        }
        //自定义排序(贪心策略,对于任何相邻的两个数,将他们排成较大的顺序)
        Arrays.sort(arr , (a , b) -> Integer.parseInt(""+b+a)-Integer.parseInt(""+a+b)) ; 
        StringBuilder res = new StringBuilder() ;
        for(int i = 0 ; i < arr.length ; i ++) {
            res.append(""+arr[i]) ;
        }
        //除去前导0
        String res1 = res.toString() ;
        int i = 0 ;
        while(i < res1.length()-1) {
            if(res1.charAt(i) != '0') {
                break ;
            }
            i ++ ;
        }
        return res1.substring(i) ;
    }
}

一个菜鸟的算法刷题记录 文章被收录于专栏

分享一个菜鸟的成长记录

全部评论

相关推荐

评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务