leetcode-46全排列[通俗易懂]

leetcode-46全排列[通俗易懂]原题链接给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]题解回溯即可class Solution {public: vector<vector<int> >res; vector<int>t; void dfs(int num,int len,vecto

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

原题链接
给定一个 没有重复 数字的序列,返回其所有可能的全排列。

示例:

输入: [1,2,3]
输出:
[
  [1,2,3],
  [1,3,2],
  [2,1,3],
  [2,3,1],
  [3,1,2],
  [3,2,1]
]

题解
回溯即可

class Solution { 
   
public:
    vector<vector<int> >res;
    vector<int>t;
    void dfs(int num,int len,vector<int> &vis,vector<int>nums){ 
   
        if(num == len){ 
   
            res.push_back(t);
            return;
        }
        for(int i = 0;i < len;i ++){ 
   
            if(vis[i])continue;
            vis[i] = true;
            t.push_back(nums[i]);
            dfs(num + 1,len,vis,nums);
            vis[i] = false;
            t.pop_back();
        }
    }
    vector<vector<int>> permute(vector<int>& nums) { 
   
        vector<int>vis(nums.size(),false);
        dfs(0,nums.size(),vis,nums);
        return res;
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169161.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月9日 下午9:00
下一篇 2022年8月9日 下午9:16


相关推荐

  • linux popd 命令,Linux shell中的pushd和popd命令「建议收藏」

    linux popd 命令,Linux shell中的pushd和popd命令「建议收藏」在linux的shell中可以使用pushd和popd命令方便地在多个目录之间切换。通过使用pushd和popd能够极大地提高效率。下面介绍下简单使用方法:0、使用cd-进行目录切换一般,Shell中都可以通过cd-命令回到之前的目录,下面是一个例子:$pwd/home/lfqy$cd/$cd-/home/lfqy$实际上,cd-中,-就相当于变量$OLDPWD。cd-就相当…

    2022年6月15日
    31
  • [M枚举] lc5. 最长回文子串(枚举+中心拓展+区间dp)「建议收藏」

    [M枚举] lc5. 最长回文子串(枚举+中心拓展+区间dp)「建议收藏」文章目录1.题目来源2.题目解析方法一:枚举1.题目来源链接:lc5.最长回文子串2.题目解析方法一:枚举回文串一共有两种,即长度为奇数的回文串,长度为偶数的回文串。我们可以枚举回文串的中心(偶数长度回文串假想一个中心就行了),然后分别拿两个指针l=i-1,r=i+1向左右两边同时拓展,若s[l]=s[r]则,l–,r++。一直进行该操作,直到不等或一方到达边界位置。我们针对每一个枚举位置i,都考虑其两种情况,即偶数,奇数都考虑一遍,取个最大的就行了。

    2022年7月24日
    7
  • Linux 查看java进程的命令

    Linux 查看java进程的命令刚才去了微众税银面试。面试官赶时间,导致我的语速也快了起来,其中有个问题没答上,那就是Linux下查看java进程的命令。回来做个记录,以防还有公司问到(之前工作上遇到Linux还是太少了(;´д`)ゞ,服)。Linux下查看和停止所有java进程在Linux下查看所有java进程命令:ps-ef|grepjava停止所有java进程命令:pkill-9java停止特…

    2022年8月24日
    14
  • kong使用例子demo

    kong使用例子demo

    2021年5月14日
    143
  • microsoft visual studio2010 密钥_windows7产品密钥

    microsoft visual studio2010 密钥_windows7产品密钥4D974-9QX42-9Y43G-YJ7JG-JDYBP

    2022年10月14日
    4
  • 数据库范式判断及分解技巧

    数据库范式判断及分解技巧这个博客就当自己的笔记了 写的不好不对的地方 大家多多指教啦 数据库中的范式是考试中必考的重点 也是应用中比较实用的操作标准 不说废话了 下面将分段来从不同深度开始说 前驱知识补充 函数依赖简单通俗地说就是属性之间是否有确定的关系 比如 学生表 学号 姓名 性别 选修课 成绩 学号函数确定姓名 学号 选修课 函数确定成绩 在不重名情况下 姓名函数确定性别 也可以称为性别函数依赖姓名 记

    2026年3月18日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号