敘述
這是 Algorithm I 的第十一天第二個題目,總共有三題。
- 難度:
Medium - 花費時間: 1 hr
- 題目: 46. Permutations
給你一個數字陣列 nums ,回傳這個數字陣列的所有可能不重複排序。
點我開啟限制與範例
限制:
1 <= nums.length <= 6-10 <= nums[i] <= 10- All the integers of
numsare 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[][] { |
成績
;