美文网首页一起来刷算法题
把数组排成最小的数

把数组排成最小的数

作者: cherryleechen | 来源:发表于2019-05-06 21:32 被阅读0次

    时间限制:1秒 空间限制:32768K

    题目描述

    输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。

    我的代码

    class Solution {
    public:
        string PrintMinNumber(vector<int> numbers) {
            string res;
            if(numbers.size()<1)
                return res;
            sort(numbers.begin(),numbers.end(),cmp);
            res="";
            for(int i=0;i<numbers.size();i++)
                res+=to_string(numbers[i]);
            return res;
        }
        static bool cmp(int a,int b){
            string A="",B="";
            A+=to_string(a);A+=to_string(b);
            B+=to_string(b);B+=to_string(a);
            return A<B;
        }
    };
    

    运行时间:3ms
    占用内存:484k

    相关文章

      网友评论

        本文标题:把数组排成最小的数

        本文链接:https://www.haomeiwen.com/subject/kxutoqtx.html