摘要:題目給定一個可包含重復數(shù)字的序列,按任意順序返回所有不重復的全排列。示例輸入輸出示例輸入輸出提示答案回溯法使用數(shù)組判斷是否訪問過,排序后跳過與前一個相同的
題目:
給定一個可包含重復數(shù)字的序列 nums ,按任意順序 返回所有不重復的全排列。
示例 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]]
提示:
1 <= nums.length <= 8
-10 <= nums[i] <= 10
答案:
class Solution { List<List<Integer>> lists; public List<List<Integer>> permuteUnique(int[] nums) { //回溯法,使用數(shù)組判斷是否訪問過,排序后跳過與前一個相同的 boolean[] visited = new boolean[9]; lists = new ArrayList<>(); List<Integer> list = new ArrayList<>(); Arrays.sort(nums); backTrace(list, nums, visited); return lists; } public void backTrace(List<Integer> list, int[] nums, boolean[] visited){ if(list.size() == nums.length) lists.add(new ArrayList<>(list)); for(int i = 0; i < nums.length; i++){ if(i > 0 && nums[i] == nums[i - 1] && !visited[i - 1]) continue; if(visited[i]) continue; visited[i] = true; list.add(nums[i]); backTrace(list, nums, visited); list.remove(list.size() - 1); visited[i] = false; } }}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/123183.html
摘要:示例輸入輸出解答這一題可以利用求下一個排列算法來求解,對原數(shù)組排序,然后加入一個結果,接著不斷求下一個排列,直到沒有下一個排列為止。而下一個排列的求解可以參考下一個排列代碼 題目地址:https://leetcode-cn.com/probl...題目描述:給定一個可包含重復數(shù)字的序列,返回所有不重復的全排列。 示例: 輸入: [1,1,2]輸出:[ [1,1,2], [1,2,1...
摘要:題目詳情題目要求輸入一個可能會有重復數(shù)字的數(shù)組,要求我們輸出可能組成的全排列無重復排列。可以用來實現(xiàn),但這種實現(xiàn)方式復雜度高。另外一種實現(xiàn)思路是,新聲明一個數(shù)組來存儲中元素的使用狀況。以這個數(shù)組為例。 題目詳情 Given a collection of numbers that might contain duplicates, return all possible unique ...
摘要:分布式的管理和當我在談論架構時我在談啥狀態(tài)碼詳解無狀態(tài)協(xié)議和請求支持哪些方法分層協(xié)議棧有哪些數(shù)據(jù)結構運用場景說說你常用的命令為什么要有包裝類面向對象的特征是啥是啥有什么好處系統(tǒng)設計工程在線診斷系統(tǒng)設計與實現(xiàn)索引背后的數(shù)據(jù)結構及算法原理軟技能 HTTP 【HTTP】分布式session的管理 【HTTP】Cookie和Session 【HTTP】當我在談論RestFul架構時我在談啥?...
摘要:題目地址題目描述給定一個沒有重復數(shù)字的序列,返回其所有可能的全排列。 題目地址:https://leetcode-cn.com/probl...題目描述:給定一個沒有重復數(shù)字的序列,返回其所有可能的全排列。 示例: 輸入: [1,2,3]輸出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]解答:利用遞歸,我們可...
摘要:題目地址題目描述給出集合,其所有元素共有種排列。說明給定的范圍是。第二種是回溯法求全排列,設置一個全局變量為當前求出的排列數(shù),求出第個全排列,也就是時,停止所有遞歸否則會超時。 題目地址:https://leetcode-cn.com/probl...題目描述:給出集合 [1,2,3,…,n],其所有元素共有 n! 種排列。 按大小順序列出所有排列情況,并一一標記,當 n = 3 時,...
閱讀 3916·2021-11-16 11:44
閱讀 3116·2021-11-12 10:36
閱讀 3373·2021-10-08 10:04
閱讀 1257·2021-09-03 10:29
閱讀 391·2019-08-30 13:50
閱讀 2605·2019-08-29 17:14
閱讀 1735·2019-08-29 15:32
閱讀 1081·2019-08-29 11:27