题解 | #没有重复项数字的全排列#
没有重复项数字的全排列
https://www.nowcoder.com/practice/4bcf3081067a4d028f95acee3ddcd2b1
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num int整型vector * @return int整型vector<vector<>> */ vector<vector<int> > permute(vector<int>& num) { // write code here vector<vector<int>>ans; vector<bool> flag; vector<int> temp; for(int i=0;i<num.size();i++) { flag.push_back(true); } cout<<"hello world"; for(int i=0;i<num.size();i++) { flag[i]=false; dfs(num,flag,num[i],temp,ans); flag[i]=true; } return ans; } void dfs(vector<int>& num,vector<bool>& flag,int now_num,vector<int> temp,vector<vector<int>>&ans) { temp.push_back(now_num); if(!count(flag.begin(),flag.end(),true)) { ans.push_back(temp); return; } for(int i=0;i<num.size();i++) { if(flag[i]) { flag[i]=false; dfs(num,flag,num[i],temp,ans); flag[i]=true; } } } };#dfs#