leetcode日记(36)全排列

想思路想了很久......思路对了应该会很好做。

我的思路是这样的:只变化前n个数字,不断增加n,由2到nums.size(),使用递归直到得到所有结果

代码如下:

cpp 复制代码
class Solution {
public:
    vector<vector<int>> permute(vector<int>& nums) {
        vector<vector<int>> v;
        v.push_back(nums);
        hs(v,1,nums);
        return v;
    }
    void hs(vector<vector<int>> &v,int n,vector<int> nums){
        if(n==nums.size()) return;
        int m=nums[n];
        nums.erase(nums.begin()+n);
        for(int i=n;i>=0;i--){
            nums.insert(nums.begin()+i,m);
            if(i!=n) v.push_back(nums);
            hs(v,n+1,nums);
            nums.erase(nums.begin()+i);
        }
    }
};
相关推荐
忍者必须死12 分钟前
JDK1.7的HashMap的环形链表
java·数据结构·算法·链表
NEXT0615 分钟前
数组转树与树转数组
前端·数据结构·面试
仟濹17 分钟前
【算法打卡day10(2026-02-24 周二)动态规划DP基础理论】
算法·动态规划
xiaoccii22 分钟前
C++(入门版)
java·c++·算法
ADDDDDD_Trouvaille23 分钟前
2026.2.23——OJ101-103题
c++·算法
月挽清风24 分钟前
代码随想录第34天:动态规划
算法·动态规划
HCl__盐酸26 分钟前
题解:Kitamasa 算法板子
算法
筱昕~呀28 分钟前
冲刺蓝桥杯-DFS板块(第一天)
算法·蓝桥杯·深度优先
刘琦沛在进步30 分钟前
【数据结构】学习数据结构的第一课——顺序表(静态)
数据结构·c++·学习
We་ct36 分钟前
LeetCode 637. 二叉树的层平均值:BFS层序遍历实战解析
前端·数据结构·算法·leetcode·typescript·宽度优先