46. Permutations | Leetcode Solution

 46Permutations

Given an array nums of distinct integers, return all the possible permutations. You can return the answer in any order.

 

Example 1:

Input: nums = [1,2,3]
Output: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]

Example 2:

Input: nums = [0,1]
Output: [[0,1],[1,0]]

Example 3:

Input: nums = [1]
Output: [[1]]

 

Constraints:

  • 1 <= nums.length <= 6
  • -10 <= nums[i] <= 10
  • All the integers of nums are unique.

The solution to the above question is-

class Solution
{
public:
  vector<vector<int>> ans;
  void helper(vector<int> &nums, int l)
  {
    if (l >= nums.size())
    {
      ans.push_back(nums);
      return;
    }

    for (int i = l; i < nums.size(); i++)
    {
      swap(nums[l], nums[i]);
      helper(nums, l + 1);
      swap(nums[l], nums[i]);
    }
  }

  vector<vector<int>> permute(vector<int> &nums)
  {
    helper(nums, 0);
    return ans;
  }
};

Post a Comment

0 Comments