主題

LeetCode - 47. Permutations II 解題心得

Not In My Back Yard | 2021-09-11 00:00:03 | 巴幣 0 | 人氣 58

題目連結:


題目意譯:
給定一個整數之收集 nums,其可能包含多個重複數字。按任意順序回傳所有可能的相異排列。

限制:
1 ≦ nums.length ≦ 8
-10 ≦ nums[i] ≦ 10



範例測資:
範例 1:
輸入: nums = [1,1,2]
輸出:
[[1,1,2],
[1,2,1],
[2,1,1]]

範例 2:
輸入: nums = [1,2,3]
輸出: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]


解題思維:
昨天的題目差不多——你要嘛計算出 nums 有多少種可能的排列(注意本題的數字可以重複出現),然後叫相對應次數的「下一個排列」、要嘛就是先把 nums 由小到大排列並一直呼叫「下一個排列」直到回到由小到大之順序。這兩個方式都可以遍歷所有可能且相異的排列。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

相關創作

更多創作