46. Permutations
題目網址:https://leetcode.cn/problems/permutations/
題意:給一不含重複數字的 array
nums
, 求所有可能的排列, 以任意順序返回。
Solution:
想法:DFS,
nums[i]
輪流當頭e.g.
nums = [1, 2, 3]
1
當頭 :[1, 2, 3], [1, 3, 2]
2
當頭 :[2, 1, 3], [2, 3, 1]
3
當頭 :[3, 2, 1], [3, 1, 2]
class Solution { |
- time:$O(n \cdot n!)$ ➔ 總共 $n!$ 種排列, 建構每一種排列皆需花 $O(n)$ time
- space:$O(n)$ ➔ 若不考慮要返回的 array, 則取決於遞迴的最大深度
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Zako's Blog!
評論