博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode]Permutations
阅读量:4150 次
发布时间:2019-05-25

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

class Solution {//DFSpublic:	vector
> permute(vector
&num) { // Start typing your C/C++ solution below // DO NOT write int main() function int n = num.size(); if(0 == n) return vector
>(); sort(num.begin(), num.end()); vector
used(num.size(), false); vector
> ans; vector
path; permute_aux(n, used, path, ans, num); return ans; } void permute_aux( int n, vector
& used, vector
& path, vector
>& ans, const vector
& num ) { //throw std::exception("The method or operation is not implemented."); if(0 == n) { ans.push_back(path); return; } for (int i = 0; i < used.size(); ++i) { if(false == used[i]) { used[i] = true; path.push_back(num[i]); permute_aux(n-1, used, path, ans, num); used[i] = false; path.pop_back(); } } }};

second time

class Solution {public:    void permuteUtil(vector
& num, vector
& used, vector
& path, vector
>& allPath) { if(path.size() == num.size()) { allPath.push_back(path); return ; } for(int i = 0; i < num.size(); ++i) { if(!used[i]) { used[i] = true; path.push_back(num[i]); permuteUtil(num, used, path, allPath); path.pop_back(); used[i] = false; } } } vector
> permute(vector
&num) { // Start typing your C/C++ solution below // DO NOT write int main() function vector
> allPath; vector
path; vector
used(num.size(), false); permuteUtil(num, used, path, allPath); return allPath; }};

转载地址:http://vmxti.baihongyu.com/

你可能感兴趣的文章
Ubuntu系统上安装Nginx服务器的简单方法
查看>>
Ubuntu Linux系统下apt-get命令详解
查看>>
ubuntu 16.04 下重置 MySQL 5.7 的密码(忘记密码)
查看>>
Ubuntu Navicat for MySQL安装以及破解方案
查看>>
HTTPS那些事 用java实现HTTPS工作原理
查看>>
oracle函数trunc的使用
查看>>
MySQL 存储过程或者函数中传参数实现where id in(1,2,3,...)IN条件拼接
查看>>
java反编译
查看>>
Class.forName( )你搞懂了吗?——转
查看>>
jarFile
查看>>
EJB3.0定时发送jms(发布/定阅)方式
查看>>
EJB与JAVA BEAN_J2EE的异步消息机制
查看>>
数学等于号是=那三个横杠是什么符
查看>>
HTTP协议详解
查看>>
java多线程中的join方法详解
查看>>
ECLIPSE远程调试出现如下问题 ECLIPSE中调试代码提示找不到源
查看>>
java abstract修饰符
查看>>
数组分为两部分,使得其和相差最小
查看>>
java抽象类和接口
查看>>
有趣的排序——百度2017春招
查看>>