permutation递归方法

原创 2016年08月30日 11:33:31
class Solution {
public:
    vector<vector<int> > permute(vector<int> &num) {
       vector<vector<int> > result;
       int n=num.size();
       if(n==1) {
       		result.push_back(num);
       		return result;
       }
       vector<int> cur;
       vector<vector<int> > tmpResult;
       for(int i=0;i<n;i++){
       		cur=num;
       		cur.erase(cur.begin()+i);
       		tmpResult=permute(cur);
       		for(int j=0;j<tmpResult.size();j++){
       			tmpResult[j].insert(tmpResult[j].begin(),num[i]);
       			result.push_back(tmpResult[j]);
       		}

       }
       return result;

    }
};

[递归]UVA11129 An antiarithmetic permutation

题意:给定一个包含了0到n - 1的序列。。要使得这个序列中每个长度大于2的子序列都不是等差数列。。 思路:对于一个等差的序列。如0 1 2 3 4 5 我们可以这样做,把他分离成2部分等差子序列0...

2017多校联合第一场 1012题 hdu 6044 Limited Permutation 笛卡尔树 递归

题目链接 题意: 对于一个 1 ~ n 的排列 a[n],假设 a[i] 为可能的最大的区间 [l, r] 范围内的最小值。 对于每一个 a[i], 都有这样的 l[i] 与 r[i]....

总结帖:全排列Permutation,子集subset 递归模板

两个经典递归模板,以前写过,现在再过一遍! 基本思路: 如果题目给的输入时数组,首先先要把数组转为ArrayList,因为ArrayList可以很方便地插入,删除,添加! 其次,递归函数的形式都一...

uva 11129 An antiarithmetic permutation (递归)

uva 11129 An antiarithmetic permutation A permutation of n+1 is a bijective function of th...

算法篇-1-递归思想-整数划分&Fibonacci&Ackerman&Permutation&Hanoi

本系列所有代码https://github.com/YIWANFENG/Algorithm-github 递归思想 递归函数无非是自己调用自己而已,其必含2部分,第一结束条件,第二循环体,所以递归类似...

全排列的递归和非递归实现(permutation)(C++)

全排列问题具体问题描述和思路请参考这篇文章: http://blog.csdn.net/morewindows/article/details/7370155/以下是C++代码实现://Permut...

递归下降分析子程序方法.rar

  • 2012年12月23日 11:30
  • 156KB
  • 下载

leetCode 31.Next Permutation (下一个字典序排序) 解题思路和方法

Next Permutation  Implement next permutation, which rearranges numbers into the lexicographically...

用递归方法增加节点.rar

  • 2010年07月01日 12:50
  • 36KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:permutation递归方法
举报原因:
原因补充:

(最多只允许输入30个字)