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;
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • css类名的使用

    css类名的使用

  • 进销存源码|ERP多仓库管理系统全开源php源码

    进销存源码|ERP多仓库管理系统全开源php源码  进销存(ERP)源码是用来管理企业数据的软件工具。进销存系统帮助不同的组织处理企业的不同部门。不同部门如收货、库存管理、客户订单管理、生产计划、发货、会计、人力资源管理等业务职能。基本上,它是将企业的计划、生产、销售和营销工作整合到一个管理系统中的实践。它将跨不同部门的所有数据库合并到一个单一的数据库中,该企业的所有员工都可以轻松访问该数据库。它有助于自动化执行业务流程所涉及的任务。    进销存源码演示及资源获取:e.csymzs.top    使用进销存前:    在使用进销存源码之前,

  • 倒立摆matlab仿真_控制系统设计实例

    倒立摆matlab仿真_控制系统设计实例本文的研究内容及安排如下:第一章是对倒立摆系统的介绍和分析,简要介绍了对倒立摆系统研究的历程,并对倒立摆系统进行建模,推倒出了倒立摆系统的状态空间表达式;第二章简要介绍了模糊控制的基本原理;第三章简要介绍了BP神经网络;第四章分别用常规PID、最优控制理论以及神经网络模糊控制实现了对倒立摆系统的控制,并对倒立摆系统的响应结果进行比较;第五章是结论,对论文做了总结,并提出了存在的一些问题。本论文研究…

  • pet的结构单元_三层架构

    pet的结构单元_三层架构PetShop4架构设计分析(三) petshop4.0详解之三(PetShop数据访问层之消息处理)三、PetShop数据访问层之消息处理在进行系统设计时,除了对安全、事务等问题给与足够的重视外,性能也是一个不可避免的问题所在,尤其是一个B/S结构的软件系统,必须充分地考虑访问量、数据流量、服务器负荷的问题。解决性能的瓶颈,除了对硬件系统进行升级外,软件设计的合理性尤为重要。在前

    2022年10月16日
  • dota5显示正在连接协调服务器,win10系统打开dota2提示已连接至DOTA2游戏协调服务器正在登陆中如何解决…

    dota5显示正在连接协调服务器,win10系统打开dota2提示已连接至DOTA2游戏协调服务器正在登陆中如何解决…近日有win10系统用户要在电脑中玩dota2游戏的时候,发现一打开dota2提示已连接至DOTA2游戏协调服务器正在登陆中,该怎么办呢,本文就给大家讲解一下win10系统打开dota2提示已连接至DOTA2游戏协调服务器正在登陆中的详细解决步骤。解决方法一、1、开始按钮在搜索中输入CMD,打开第一个在弹出框输入:netshwinsockresetcatalog;2、直接复制然后再弹出框中右…

  • 树莓派4B 安装opencv完整教程基于python3(各种错误解决)

    树莓派4B 安装opencv完整教程基于python3(各种错误解决)本人一直在做opencv的项目,需要入手一块树莓派来在移动端跑opencv,所以买了一块树莓派4B,然后安装上了系统,开启了曲折的opencv安装之旅。首先有幸看到子豪兄的视频,还是很好的,所以直接跟着它子豪兄教你在树莓派上安装OpenCV教程安装opencv,但是后来发现各种不可名状的错误,最后发现他的是基于树莓派3B+,环境是python3.5,但是树莓派4B的环境是python4B,所以不…

发表回复

您的电子邮箱地址不会被公开。

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