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);
        }
    }
};
相关推荐
wasp5204 分钟前
拒绝 OOM:Apache Fesod 高性能 Excel 处理架构全景解析
算法·架构·apache·excel
爱吃生蚝的于勒5 分钟前
【Linux】进程信号的保存(二)
linux·运维·服务器·c语言·数据结构·c++·算法
diediedei8 分钟前
C++构建缓存加速
开发语言·c++·算法
油泼辣子多加10 分钟前
【信创】华为昇腾大模型部署
人工智能·算法·机器学习·华为
春日见11 分钟前
C++单例模式 (Singleton Pattern)
java·运维·开发语言·驱动开发·算法·docker·单例模式
im_AMBER18 分钟前
Leetcode 108 交换链表中的节点
数据结构·笔记·学习·算法·leetcode·链表
2301_7657031419 分钟前
C++代码风格检查工具
开发语言·c++·算法
TracyCoder12327 分钟前
LeetCode Hot100(14/100)——73. 矩阵置零
算法·leetcode·矩阵
啊阿狸不会拉杆27 分钟前
《数字信号处理》第 4 章-快速傅里叶变换 (FFT)
数据结构·人工智能·算法·机器学习·信号处理·数字信号处理·dsp
hrrrrb27 分钟前
【算法设计与分析】算法概述
开发语言·python·算法