LeetCode 046 Permutations 全排列「建议收藏」

LeetCode 046 Permutations 全排列「建议收藏」Givenacollectionofdistinctnumbers,returnallpossiblepermutations.Forexample,[1,2,3]havethefollowingpermutations:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]方法一:1c…

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

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

Given a collection of distinct numbers, return all possible permutations.
For example,
[1,2,3] have the following permutations:
[
  [1,2,3],
  [1,3,2],
  [2,1,3],
  [2,3,1],
  [3,1,2],
  [3,2,1]
]

方法一:

 1 class Solution {
 2 public:
 3      vector<vector<int> > permute(vector<int> &num) {
 4         vector<vector<int> > res;
 5         vector<int> out;
 6         int size=num.size();
 7         if(size==0||num.empty())
 8             return res;
 9         helper(num, 0,size, out, res);
10         return res;
11     }
12     void helper(vector<int> &num,int start,int size,vector<int> &out,vector<vector<int>> &res)
13     {
14         if(start==size-1)
15         {
16             for(int i=0;i<size;++i)
17                 out.push_back(num[i]);
18             res.push_back(out);
19             out.clear();
20         }
21         else
22         {
23             for(int i=start;i<size;++i)
24             {
25                 swap(num,start,i);
26                 helper(num,start+1,size,out,res);
27                 swap(num,start,i);
28             }
29         }
30     }
31     void swap(vector<int> &num,int i,int j)
32     {
33         int tmp=num[i];
34         num[i]=num[j];
35         num[j]=tmp;
36     }
37 };

 方法二:

 1 class Solution {
 2 public:
 3     vector<vector<int>> permute(vector<int>& nums) {
 4         vector<vector<int>> res;
 5         helper(nums,0,res);
 6         return res;
 7     }
 8     void helper(vector<int> num,int start,vector<vector<int>> &res)
 9     {
10         if(start==num.size())
11         {
12             res.push_back(num);
13             return;
14         }
15         for(int k=start;k<num.size();++k)
16         {
17             swap(num[start],num[k]);
18             helper(num,start+1,res);
19         }
20     }
21 };

 

转载于:https://www.cnblogs.com/xidian2014/p/8652384.html

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

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

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

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

(0)


相关推荐

  • 公网ntp服务器地址(网站服务器)

    阿里云NTP服务器ntp1.aliyun.comntp2.aliyun.comntp3.aliyun.comntp4.aliyun.comntp5.aliyun.comntp6.aliyun.comntp7.aliyun.com腾讯云NTP服务器time1.cloud.tencent.comtime2.cloud.tencent.comtime3.cloud.ten…

  • django的安装_django部署

    django的安装_django部署DRF介绍DRF是DjangoRestFramework单词的简写,是在Django框架中实现RestfulAPI的一个插件,使用他可以非常方便的实现接口数据的返回。Django中也可以使用J

  • Xshell 官方免费版下载流程

    Xshell 官方免费版下载流程官网地址:https://www.netsarang.com所有产品下载地址:https://www.netsarang.com/download/前言网上流传有很多的Xshell的激活成功教程版、绿色版。但是Xshell多版本存在后门,或上传用户服务器账号密码。这是很可怕的,服务器的账号、密码有可能泄露。实际上官方针对个人账户是有提供免费版本来下载。下载免费版…

    2022年10月11日
  • postgresql的ALTER经常使用操作

    postgresql的ALTER经常使用操作

  • 在线问诊小程序源码_诊前服务

    在线问诊小程序源码_诊前服务专家门诊——JSP开发答疑200问[华储网推荐]    

  • Unity3d菜鸟入门的学习路线–笔记1

    Unity3d菜鸟入门的学习路线–笔记1最近刚刚开始接触unity3d,因此想把自己的学习路线记录下来,方便自己以后总结。由于毕业论文的关系,需要使用Unity3D开发,做虚拟现实的应用,使用的设备是HTCvivepro产品。初始学习,由于没有基础,因此一团乱,总结一下目前看过的教程和书籍。1、开始看的是b站上极客学院讲解的unity3d的入门课程,对操作的界面有了初步的了解,不需要看完,看到编程之前就可以。2、由于需要使用C#编程…

发表回复

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

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