敘述
這是 Algorithm I
的第十一天第二個題目,總共有三題。
- 難度:
Medium
- 花費時間: 1 hr
- 題目: 46. Permutations
給你一個數字陣列 nums
,回傳這個數字陣列的所有可能不重複排序。
點我開啟限制與範例
限制:
1 <= nums.length <= 6
-10 <= nums[i] <= 10
- All the integers of
nums
are unique.
Example 1:
1 | Input: nums = [1,2,3] |
Example 2:
1 | Input: nums = [0,1] |
Example 3:
1 | Input: nums = [1] |
點我開啟思路
思路
用選擇樹 Backtracking
的方式去做答
- 選一個根元素
- 在剩下的元素裡選一個
- 重複步驟二直到選完
- 把現在選好的陣列放入答案陣列
終止條件: 全部選完
撤銷選擇
筆記
因為這題也是屬於 Backtracking
類型的題目,所以用跟 77. Combinations 一樣的方法來作即可。
程式
function permute(nums: number[]): number[][] { |
成績
;