47.全排列 II(Permutations II)

原创 2018年04月16日 19:46:23

题目描述

给定一个可能包含重复数字的序列,返回所有不同的全排列。

示例:

输入: [1,1,2]
输出:
[
  [1,1,2],
  [1,2,1],
  [2,1,1]
]

解题思路

    public List<List<Integer>> permuteUnique(int[] nums) {
        List<List<Integer>> list = new ArrayList<List<Integer>>();
        Arrays.sort(nums);
        backtrack(list, new ArrayList<Integer>(), nums, new boolean[nums.length]);
        return list;
    }

    private void backtrack(List<List<Integer>> list, List<Integer> tempList, int [] nums, boolean [] used){
        if(tempList.size() == nums.length){
            list.add(new ArrayList<Integer>(tempList));
        } else{
            for(int i = 0; i < nums.length; i++){
                if(used[i] || i > 0 && nums[i] == nums[i-1] && !used[i - 1]) continue;
                used[i] = true;
                tempList.add(nums[i]);
                backtrack(list, tempList, nums, used);
                used[i] = false;
                tempList.remove(tempList.size() - 1);
            }
        }
    }

Microsoft Agent技术在Delphi中的应用

解放军合肥炮兵学院 张建军 中保财险安徽省铜陵市分公司 韩莹 ---- Microsoft Agent是微软公司于1997年9月发布的一项代理软件开发技术,而后被集成到Internet Explore...
  • deardelphi
  • deardelphi
  • 2000-08-26 10:06:00
  • 691

leetcode - 47. Permutations II(全排列)

47. Permutations II Given a collection of numbers that mightcontain duplicates, return all possible ...
  • laeen
  • laeen
  • 2017-06-29 16:21:55
  • 212

LeetCode 47. Permutations II(排列)

原题网址:https://leetcode.com/problems/permutations-ii/ Given a collection of numbers that might co...
  • jmspan
  • jmspan
  • 2016-05-21 05:23:53
  • 223

LeetCode47:Permutations II

Given a collection of numbers that might contain duplicates, return all possible unique permutations...
  • u012501459
  • u012501459
  • 2015-06-04 11:02:32
  • 803

leetcode46/47-Permutations I/II(全排列问题)

问题描述:Given a collection of distinct numbers, return all possible permutations.For example, [1,2,3] ...
  • will130
  • will130
  • 2016-04-28 23:26:35
  • 317

[leetcode]47. Permutations II,python实现

题目: Given a collection of numbers that might contain duplicates, return all possible unique permut...
  • zl87758539
  • zl87758539
  • 2016-06-16 16:24:48
  • 781

Leetcode 47. Permutations II

题意 生成一个数组的全排列,去除重复的排列数组 题解 用递归实现。每个位置的数字都能和它后面的所有数字交换的,一共有n!种。用set去重超时,需要在递归中剪枝。如果交换中两个数的中间有一个数和...
  • u010560443
  • u010560443
  • 2016-03-28 21:46:07
  • 348

【leetcode】【47】Permutations II

一、问题描述 Given a collection of numbers that might contain duplicates, return all possible unique ...
  • xiaoliucool1314
  • xiaoliucool1314
  • 2016-03-01 10:17:28
  • 287

47. Permutations II | Java最短代码实现

原题链接:47. Permutations II 【思路】 本题考查的是回溯算法。与 46. Permutations 不同的是本题数组中的元素可能重复。为此增加了一个记录数组visit。重点在于...
  • happyaaaaaaaaaaa
  • happyaaaaaaaaaaa
  • 2016-03-20 21:15:43
  • 665

leetcode 46,47. Permutations I/II 全排列问题 java

46.Permutations Total Accepted: 96713 Total Submissions: 271529 Difficulty: Medium Given a collect...
  • chenchaofuck1
  • chenchaofuck1
  • 2016-04-19 23:00:36
  • 2085
收藏助手
不良信息举报
您举报文章:47.全排列 II(Permutations II)
举报原因:
原因补充:

(最多只允许输入30个字)