算法刷题第十一天:递归 / 回溯--2

简介: 算法刷题第十一天:递归 / 回溯--2

一,组合


77. 组合 - 力扣(LeetCode)

https://leetcode.cn/problems/combinations/?plan=algorithms&plan_progress=gzwnnxs

027e1779077c42a9a25ca3f6f5529c30.png


看题解:


组合 - 组合 - 力扣(LeetCode)

https://leetcode.cn/problems/combinations/solution/zu-he-by-leetcode-solution/

二,全排列


46. 全排列 - 力扣(LeetCode)

https://leetcode.cn/problems/permutations/?plan=algorithms&plan_progress=gzwnnxs

8824949f944f46f6bb01b9451244021f.png


class Solution {
public:
    void backtrack(vector<vector<int>>& res, vector<int>& output, int first, int len){
        // 所有数都填完了
        if (first == len) {
            res.emplace_back(output);
            return;
        }
        for (int i = first; i < len; ++i) {
            // 动态维护数组
            swap(output[i], output[first]);
            // 继续递归填下一个数
            backtrack(res, output, first + 1, len);
            // 撤销操作
            swap(output[i], output[first]);
        }
    }
    vector<vector<int>> permute(vector<int>& nums) {
        vector<vector<int> > res;
        backtrack(res, nums, 0, (int)nums.size());
        return res;
    }
};


看题解:


全排列 - 全排列 - 力扣(LeetCode)

https://leetcode.cn/problems/permutations/solution/quan-pai-lie-by-leetcode-solution-2/

三,字母大小全排列


55203630e8804c76b624f0541b50d2f9.png


字母大小写全排列 - 字母大小写全排列 - 力扣(LeetCode)

https://leetcode.cn/problems/letter-case-permutation/solution/zi-mu-da-xiao-xie-quan-pai-lie-by-leetcode/

目录
相关文章
|
6天前
|
算法
算法系列--递归(一)--与链表有关(上)
算法系列--递归(一)--与链表有关
28 0
|
6天前
|
存储 算法 容器
算法刷题小技巧【持续补充~】
算法刷题小技巧【持续补充~】
9 2
|
6天前
|
算法 决策智能 索引
数据结构与算法 回溯
数据结构与算法 回溯
7 1
|
6天前
|
算法 安全 定位技术
【刷题】备战蓝桥杯 — dfs 算法
dfs算法在数据较小的情况下可以使用。 一定一定要确定好终止条件,避免栈溢出。 相应做好回溯,保证每次的遍历都是不一样的选择,避免少结果。 针对题目进行对应细节处理,有能力的话可以进行剪枝优化!!!
14 0
|
6天前
|
算法 JavaScript
算法(分治、贪心、dp、回溯、分支限界)总结
算法(分治、贪心、dp、回溯、分支限界)总结
|
6天前
|
算法
算法系列--递归,回溯,剪枝的综合应用(3)(下)
算法系列--递归,回溯,剪枝的综合应用(3)(下)
18 0
|
6天前
|
存储 算法
算法系列--递归,回溯,剪枝的综合应用(3)(上)
算法系列--递归,回溯,剪枝的综合应用(3)(上)
24 0
算法系列--递归,回溯,剪枝的综合应用(3)(上)
|
6天前
|
算法
算法系列--链表刷题(二)(下)
算法系列--链表刷题(二)(下)
18 0
|
6天前
|
算法
算法系列--链表刷题(二)(上)
算法系列--链表刷题(二)
19 0
|
6天前
|
搜索推荐 C语言 C++
【排序算法】C语言实现归并排序,包括递归和迭代两个版本
【排序算法】C语言实现归并排序,包括递归和迭代两个版本