zoukankan      html  css  js  c++  java
  • LeetCode

    46. Permutations 

    Problem's Link

     ----------------------------------------------------------------------------

    Mean: 

    给定一个数组,求这个数组的全排列.

    analyse:

    方法1:调用自带函数next_permutation(_BIter,_BIter)

    方法2:自己手写一个permutation函数,很简单.

    Time complexity: O(N)

     

    view code

    #include <bits/stdc++.h>
    using namespace std;

    // way 1: use system's function:next_permutation(iter* begin,iter* end);
    //class Solution
    //{
    //public:
    //    vector<vector<int>> permute(vector<int>& nums)
    //    {
    //        vector<vector<int>> res;
    //        sort(nums.begin(),nums.end());
    //        res.push_back(nums);
    //        while(next_permutation(nums.begin(),nums.end()))
    //            res.push_back(nums);
    //        return res;
    //    }
    //};

    class Solution
    {
    public:
       vector<vector<int>> permute(vector<int>nums)
       {
           vector<vector<int>> res;
           solvePermute(res,nums,0);
           return res;
       }
       
       void solvePermute(vector<vector<int>>& res,vector<int> nums,int begin)
       {
           if(begin>=nums.size())
           {
               res.push_back(nums);
               return;
           }
           for(int i=begin;i<nums.size();++i)
           {
               swap(nums[i],nums[begin]);
               solvePermute(res,nums,begin+1);
               swap(nums[i],nums[begin]);
           }
       }
    };

    int main()
    {
       int n;
       while(cin>>n)
       {
           vector<int> ve(n);
           for(int i=0; i<n; ++i)
               cin>>ve[i];
           Solution solution;
           vector<vector<int>> ans=solution.permute(ve);
           for(auto p1:ans)
           {
               for(auto p2:p1)
               {
                   cout<<p2<<" ";
               }
               cout<<endl;
           }
       }
       return 0;
    }
  • 相关阅读:
    body中的font属性和color属性
    div 的position属性
    border属性
    html header标签
    关于web.config中<customErrors>节点说明
    STL 小白学习(1) 初步认识
    sin n次方 x 的降幂公式
    查找结构体数组中的人名是否匹配
    将结构体数组中内容以文件形式的导出
    python 小白学习(1)
  • 原文地址:https://www.cnblogs.com/crazyacking/p/5255205.html
Copyright © 2011-2022 走看看