首页 > 其他分享 >46. 全排列

46. 全排列

时间:2022-10-18 09:00:09浏览次数:38  
标签:排列 nums 46 res dfs int vector

class Solution {
public:
    // dfs
    vector<vector<int>> res;
    vector<int> path;  // 只能是全局变量
    bool flag[100];
    int n=0;
    void dfs(int u,vector<int>& nums){
        if(u==n){ // 已经递归到底部
            res.push_back(path);
        }
        for(int i=0;i<n;i++){
            if(!flag[i]){
                path.push_back(nums[i]);
                flag[i]=true;
                dfs(u+1,nums);
                path.pop_back();
                flag[i]=false;
            }
        }
    }
    vector<vector<int>> permute(vector<int>& nums) {
        n=nums.size();
        dfs(0,nums); //从第0层开始递归
        return res;
    }
};

解题思路:
image

标签:排列,nums,46,res,dfs,int,vector
From: https://www.cnblogs.com/mengfengguang/p/16801433.html

相关文章

  • 【LeetCode】1470. 重新排列数组(C++)
    1470.重新排列数组(C++)​​1题目描述​​​​2示例描述​​​​2.1示例1​​​​2.2示例2​​​​2.3示例3​​​​3解题提示​​​​4源码详解(C++)​​1题目描述......
  • 【LeetCode】1464. 数组中两元素的最大乘积(C++)
    1464.数组中两元素的最大乘积(C++)​​1题目描述​​​​2示例描述​​​​2.1示例1​​​​2.2示例2​​​​2.3示例3​​​​3解题思路​​​​4源码详解(C++)​​......
  • CF1468H
    首先判掉\((n-m)\bmod(k-1)\ne0\)的情况,显然是无解的。考虑消去的最后一步,必然是以\(b\)中的某一元素为中位数进行的。于是得到了一个必要条件:存在一个\(b_i\),满足......
  • 46.动态联编和静态联编
    1.动态联编和静态联编(重点难点)1.静态联编编译器会根据函数调用的对象类型,在编译阶段就确定函数的调用地址,这就是静态联编(早绑定)2.虚函数在普通成员函数前面加virtual,......
  • winioctl.h(10326): [C4668] 没有将“_WIN32_WINNT_WIN10_TH2”定义为预处理器宏,用
    一般为Windows中的宏和UE4冲突所致在模块的xxx.Build.cs里面添加这个:bEnableUndefinedIdentifierWarnings=false;转自:https://blog.csdn.net/boonti/article/detail......
  • CF463C 题解
    题目传送门题目分析贪心练手好题。首先,国际象棋中象的走法是斜着走,也就是这样:通过上面的图我们不难看出,如果一个象在黑格,另外一个在白格,那么它们之间一定不会互相攻击......
  • CF1468A
    设\(f_i\)表示以第\(i\)个结尾,强制选第\(i\)个所能得到的最长几乎上升序列的长度。则\(f_i=\max\limits_{j\lti,a_j\lea_i}\left\{f_j+1+w(i,j)\right\}\)。其......
  • 横向排列每天考勤时间
    问题:根据姓名和日期,横向排列考勤时间。let源=Excel.CurrentWorkbook(){[Name="表1"]}[Content],分组的行=Table.Group(源,{"姓名","日期"},{"时间",eachLi......
  • CF1746D(记忆化搜索,DP,贪心)
    CF1746D(记忆化搜索,DP,贪心)https://codeforces.com/contest/1746/problem/d题意给一棵树,树上每个点有一个权值\(s_i\),有一个整数\(k\)。表示从根节点出发的简单路径的......
  • CF1746C(构造)
    CF1746C(构造)https://codeforces.com/contest/1746/problem/c题意给一个排列,进行\(n\)次操作,第\(i\)次操作可以将任意指定长度的后缀加\(i\)。问经过\(n\)次操......