数据结构学习 jz45 把数组排成最小的数

发布时间:2024年01月16日

关键词:贪心 排序 快速排序

题目:破解闯关密码

思路:

快排+自己制定快排规则

开辟一个vector存string,自己制定排序规则,然后用快排比较string大小。

排序规则:

sort(strs.begin(),strs.end(),[](string& a,string& b){return a+b<b+a;});

?复杂度计算:

时间复杂度O(nlogn)

空间复杂度O(n) //字符串vector

代码:

class Solution {
public:
    string crackPassword(vector<int>& password) {
        vector<string> strs;
        string res;
        for(int i=0;i<password.size();++i)
        {
            strs.push_back(to_string(password[i]));
        }
        sort(strs.begin(),strs.end(),[](string& a,string& b){return a+b<b+a;});
        for(int i=0;i<strs.size();++i)
        {
            res.append(strs[i]);
        }
        return res;
    }
};

文章来源:https://blog.csdn.net/rainssssss/article/details/135620089
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。