题解 | #全排列#

全排列

https://www.nowcoder.com/practice/5632c23d0d654aecbc9315d1720421c1

这个题目用的算法叫回溯算法,是有一个比较固定的模板的,推荐大家去b站搜“代码随想录”,他讲的比较透彻。

#include <bits/stdc++.h>
#include <vector>
using namespace std;

vector<string> ans;
string path;

void backtracking(string std, vector<bool> used){
    if(path.size() == std.size()){
        ans.push_back(path);
        return;
    }

    for(int i = 0 ; i < std.size() ; i++){
        if(used[i]) continue;
        used[i] = true;
        path += std[i];
        backtracking(std, used);
        path.erase(path.size() - 1 , 1);
        used[i] = false;
    }
}

int main() {
    string std;
    cin >> std;
    vector<bool> used(std.size(), false);
    backtracking(std, used);
    for(int i = 0; i < ans.size() ; i++){
        cout << ans[i] << '\n';
    }

    
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-25 18:02
来组里2个月了,天天让打杂,写的代码不超过200行。现在已经开始摆烂冲秋招了。我感觉4个月,就算周六日全天睡觉,周一到周五一直看黑马也比我来节子实习学到的东西多。
小熊梦奇:😅节子那么多文档,你是一个都不看啊。 大厂的意义在于内部系统对你开放,看明白事情起因经过结果解决措施,实在看不明白,直接聊天系统搜到对应团队去问当时的负责人,大部分情况下都会给你解答。 这才是大厂实习的精髓
实习生的蛐蛐区
点赞 评论 收藏
分享
积极的小学生不要香菜:你才沟通多少,没500不要说难
点赞 评论 收藏
分享
陆续:不可思议 竟然没那就话 那就我来吧 :你是我在牛客见到的最美的女孩
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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