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


    输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。

    思路:先转化成字符串,然后写一个新的Array.sort()的comparator,任意两个字符串o1,o2如果o1+o2>o2+o1,那么o1在o2前面,可以用compareTo实现

    class Solution {
        public String minNumber(int[] nums) {
                        if(nums==null||nums.length==0){
                    return "";
                }
                int len=nums.length;
                String []s=new String[len];
                for(int i=0;i<len;i++){
                    s[i]=String.valueOf(nums[i]);
                }
                Arrays.sort(s,new Comparator<String>(){
                    @Override
                    public int compare(String o1, String o2) {
                        return (o1+o2).compareTo(o2+o1);
                    }    
                });
                String result="";
                for(int i=0;i<len;i++){
                    result=result+s[i];
                }
                return result;
    
        }
    }
  • 相关阅读:
    一段简单的js让png24兼容ie6,单张图片有效
    “按需加载”的应用
    前端....
    项目小结
    Ember初始化实例
    Emberjs 分页
    Emberjs搜索
    promise链式
    Emberjs路由
    Emberjs笔记
  • 原文地址:https://www.cnblogs.com/jieyi/p/14318737.html
Copyright © 2020-2023  润新知