Leetcode 46 全排列

給定一個 沒有重復 數字的序列,返回其所有可能的全排列。
示例:
輸入: [1,2,3]
輸出:
[
[1,2,3],
[1,3,2],
[2,1,3],
[2,3,1],
[3,1,2],
[3,2,1]
]
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/permutations
著作權歸領扣網絡所有。商業(yè)轉載請聯(lián)系官方授權,非商業(yè)轉載請注明出處。

class Solution {

    List<List<Integer>> ans = new ArrayList();

        public List<List<Integer>> permute(int[] nums) {
            boolean[] used = new boolean[nums.length];
            recursion(nums, new ArrayList(), used, 0);
            return ans;
        }

        public void recursion(int[] nums, List<Integer> list, boolean[] used, int index) {
            if (index >= nums.length) {
                ans.add(list);
                return;
            }


            for(int i = 0; i < nums.length; i++) {
                if(used[i]) {
                    continue;
                }
                list.add(nums[i]);
                used[i] = true;
                recursion(nums, new ArrayList(list), used, index+1);
                list.remove(list.size() - 1);
                used[i] = false;
            }
        }
}
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 題目:給定一個沒有重復數字的序列,返回其所有可能的全排列。 示例: 輸入: [1,2,3]輸出:[[1,2,3],...
    minningl閱讀 113評論 0 0
  • 題目 給定一個沒有重復數字的序列,返回其所有可能的全排列。 示例: 輸入: [1,2,3]輸出:[[1,2,3],...
    禾木清清閱讀 423評論 0 0
  • 給定一個 沒有重復 數字的序列,返回其所有可能的全排列。 示例: 輸入: [1,2,3]輸出:[[1,2,3],[...
    huxq_coder閱讀 354評論 0 1
  • 給定一個可包含重復數字的序列 nums ,按任意順序 返回所有不重復的全排列。 示例 1: 輸入:nums = [...
    刻苦驢噥閱讀 176評論 0 0
  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友。感恩相遇!感恩不離不棄。 中午開了第一次的黨會,身份的轉變要...
    余生動聽閱讀 10,916評論 0 11

友情鏈接更多精彩內容