码迷,mamicode.com
首页 > 其他好文 > 详细

46 Permutations(全排列Medium)

时间:2015-06-14 22:35:33      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:

题目意思:全排列

思路:其实看这题目意思,是不太希望用递归的,不过还是用了递归,非递归的以后再搞吧

  ps:vector这玩意不能随便返回,开始递归方法用vector,直接到500ms,换成void,到12ms

 1 class Solution {
 2 public:
 3     vector<vector<int>> permute(vector<int>& nums) {
 4         vector<vector<int> >ans;
 5         permute1(ans,nums,0);
 6         return ans;
 7     }
 8     void permute1(vector<vector<int>>& ans,vector<int>& nums,int begin) {
 9         if(begin==nums.size()-1){
10             ans.push_back(nums);
11         }
12         for(int i=begin;i<nums.size();++i){
13             swap(nums[i],nums[begin]);
14             permute1(ans,nums,begin+1);
15             swap(nums[i],nums[begin]);
16         }
17     }
18 };

 

46 Permutations(全排列Medium)

标签:

原文地址:http://www.cnblogs.com/smallby/p/4575791.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!