LeetCode46:全排列

题目描述

给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案


解题思想

使用used记录元素是否使用过,排列是有序的,要注意与组合的区别。

代码

cpp 复制代码
class Solution {
public:
    vector<vector<int>> res;
    vector<int> path;

    void backTracking(const vector<int>& nums, vector<bool> used) {
        if (path.size() == nums.size()) {
            res.push_back(path);
            return;
        }
            
        for (int i = 0; i < nums.size(); i++) {
            
            if(used[i]==true) continue;

            used[i] = true;
            path.push_back(nums[i]);
            backTracking(nums, used);
            used[i] = false;
            path.pop_back();
        }
    }


    vector<vector<int>> permute(vector<int>& nums) {
        vector<bool> used(nums.size(),false);
        backTracking(nums, used);
        return res;
    }
};
相关推荐
J_Xiong01176 分钟前
【VLNs篇】11:Dynam3D: 动态分层3D令牌赋能视觉语言导航中的VLM
人工智能·算法·3d
弈风千秋万古愁12 分钟前
【PID】连续PID和数字PID chapter1(补充) 学习笔记
笔记·学习·算法·matlab
qwepoilkjasd16 分钟前
RapidJSON 完整学习指南
c++
一朵筋斗云17 分钟前
c++
c++
天选之女wow18 分钟前
【代码随想录算法训练营——Day52】图论——101.孤岛的总面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿
算法·深度优先·图论
碧海银沙音频科技研究院26 分钟前
i2s封装成自己定义8路音频数据发送方法
arm开发·人工智能·深度学习·算法·音视频
做科研的周师兄29 分钟前
【机器学习入门】9.2:感知机的工作原理 —— 从模型结构到实战分类
人工智能·算法·机器学习·分类·数据挖掘
有趣的我1 小时前
关于stub和mock
c++
不去幼儿园1 小时前
【启发式算法】狼群算法(Wolf Pack Algorithm, WPA)算法详细介绍(Python)
python·算法·启发式算法·任务分配·集群智能
Yupureki1 小时前
从零开始的C++学习生活 18:C语言复习课(期末速通)
c语言·数据结构·c++·学习·visual studio