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);
        }
    }
};
相关推荐
夏乌_Wx几秒前
练题100天——DAY22:数字拼接+只出现一次的数字
java·数据结构·算法
listhi5201 分钟前
MOEAD算法实现详解(基于Python与MATLAB)
python·算法·matlab
李玮豪Jimmy29 分钟前
Day32:动态规划part5(完全背包、518.零钱兑换 II、377.组合总和 Ⅳ、70.爬楼梯 (进阶))
算法·动态规划
koping_wu31 分钟前
【Zookeeper】数据结构、集群原理、选举机制
数据结构·zookeeper·java-zookeeper
hweiyu0033 分钟前
数据结构:线段树
数据结构
rit843249934 分钟前
基于GA-GM(1,1)模型的航空发电机状态趋势分析实现
算法
CQ_YM35 分钟前
数据结构之哈希表
数据结构·算法·哈希算法·哈希表
pursuit_csdn1 小时前
力扣周赛 - 479
算法·leetcode·职场和发展
飞天狗1111 小时前
C. Needle in a Haystack
算法
FMRbpm1 小时前
顺序表实现队列
数据结构·c++·算法·新手入门