博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 46. 全排列
阅读量:6957 次
发布时间:2019-06-27

本文共 1586 字,大约阅读时间需要 5 分钟。

 

很经典很经典,虽然AC高但难度不小

/**当前的排列结果level,总结果res,访问标志visit,边界,level达到n个数**/class Solution {public:    vector
> permute(vector
& nums) { if(nums.size()==0) return {}; int len=nums.size(); vector
> res; vector
level; vector
visit(len,0); dfs(nums,res,level,visit); return res; } void dfs(vector
&nums,vector
>&res,vector
&level,vector
&visit){ if(level.size()==nums.size()){ res.push_back(level);return; } for(int i=0;i

 

采用深度优先搜索的代码(带注释)

class Solution {public:    vector
> permute(vector
& nums) { vector
> res; vector
temp,visited(nums.size(),0); sort(nums.begin(),nums.end()); DFS(nums,0,visited,temp,res); return res; } void DFS(vector
& nums,int index,vector
& visited,vector
& temp,vector
>& res){ //递归边界,当一个排列的数达到n个后,即形成了一个排列 if(index==nums.size()){res.push_back(temp);return;} //递归形式:输出以nums[i]为第一个数的所有排列, for(int i=0;i

 

转载于:https://www.cnblogs.com/joelwang/p/10699007.html

你可能感兴趣的文章
Qtum量子链周报(3月18日-3月24日)
查看>>
couchbase介绍与实践(一)
查看>>
JavaScript正则表达式(2)
查看>>
开源 | Rainbond 3.5 pre-release
查看>>
css中px、em、rem区别与使用
查看>>
两个男同事打架 公司决定要不离职, 要不手牵手一下午, 结果他俩就选择.........
查看>>
(三)java版spring cloud+spring boot 社交电子商务平台 - Spring Cloud集成项目简介
查看>>
本地搭建ios测试包上传下载安装环境(类似蒲公英)
查看>>
BCH大区块导致中心化其实是伪命题
查看>>
Linux软件包管理之源码安装
查看>>
求两个数的最大公约数两种方法
查看>>
结对编程讲义-PPT
查看>>
SOLR
查看>>
配置Nutch模拟浏览器以绕过反爬虫限制
查看>>
小牛电动的软文列表,和实际用户的反馈实在是天上地下。。
查看>>
list()详解
查看>>
mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
查看>>
IBM WebSphere MQ win 安装过程
查看>>
获取目录下子目录及文件的大小
查看>>
DNS服务器基本服务(正向、反向解析)、别名、递归、迭代、增量传输、完全传输...
查看>>