Share 46. permutations leetcode c++,

#46.Permutations LeetCode C ++, #LeetCode, #C ++, #PerMutations

## 46. Permutations LeetCode C ++

Đưa ra một mảng `nums`, trả lại tất cả các hoán vị có thể có của các yếu tố của nó.Bạn có thể trả lại câu trả lời theo bất kỳ thứ tự nào.

**Ví dụ 1:**

`` `
Đầu vào: nums = [1,2,3]
Đầu ra: [[1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]
`` `

** Ví dụ 2: **

`` `
Đầu vào: nums = [0,1]
Đầu ra: [[0,1], [1,0]]
`` `

**Hạn chế:**

* `1 <= nums.length <= 6`
* `-10 <= nums <= 10`

**Giải pháp:**

`` `C ++
Giải pháp lớp {
công cộng:
Vector <Vector <int >> hoán vị (vector <tot> & nums) {
Vector <Vector <int >> res;
DFS (nums, 0, res);
trả lại res;
}

void dfs (vector <int> & nums, int idx, vector <vector <int >> & res) {
if (idx == nums.size ()) {
res.push_back (nums);
trở lại;
}
for (int i = idx; i <nums.size (); i ++) {
hoán đổi (nums , nums [idx]);
DFS (nums, idx + 1, res);
hoán đổi (nums , nums [idx]);
}
}
};
`` `
=======================================
#46. Permutations Leetcode C++, #LeetCode, #C++, #PerMutations

## 46. Permutations Leetcode C++

Given an array `nums`, return all possible permutations of its elements. 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]]
```

**Constraints:**

* `1 <= nums.length <= 6`
* `-10 <= nums <= 10`

**Solution:**

```c++
class Solution {
public:
vector<vector<int>> permute(vector<int>& nums) {
vector<vector<int>> res;
dfs(nums, 0, res);
return res;
}

void dfs(vector<int>& nums, int idx, vector<vector<int>>& res) {
if (idx == nums.size()) {
res.push_back(nums);
return;
}
for (int i = idx; i < nums.size(); i++) {
swap(nums, nums[idx]);
dfs(nums, idx + 1, res);
swap(nums, nums[idx]);
}
}
};
```
 
Join Telegram ToolsKiemTrieuDoGroup
Back
Top