博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode--047--全排列 II(java)
阅读量:5112 次
发布时间:2019-06-13

本文共 968 字,大约阅读时间需要 3 分钟。

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

示例:

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

对比46题增加了used数组,判断该数上次是否使用过。

TIME:O(N!)

SPACE:O(N)

1 class Solution { 2     public List
> permuteUnique(int[] nums) { 3 List
> res = new ArrayList<>(); 4 if(nums.length == 0 || nums==null)return res; 5 Arrays.sort(nums); 6 helper(res,new ArrayList<>(),nums,new boolean[nums.length]); 7 return res; 8 } 9 public void helper(List
> res,List
list,int[] nums,boolean[] used){10 if(list.size() == nums.length){11 res.add(new ArrayList<>(list));12 13 }14 for(int i = 0;i < nums.length;i++){15 if(used[i] || i > 0 && nums[i] == nums[i - 1] && used[i-1])continue;16 used[i] = true;17 list.add(nums[i]);18 helper(res,list,nums,used);19 20 list.remove(list.size() - 1);21 used[i]=false;22 }23 }24 25 }

 

转载于:https://www.cnblogs.com/NPC-assange/p/10818538.html

你可能感兴趣的文章
基于node/mongo的App Docker化测试环境搭建
查看>>
秒杀9种排序算法(JavaScript版)
查看>>
struts.convention.classes.reload配置为true,tomcat启动报错
查看>>
MySQL的并行复制多线程复制MTS(Multi-Threaded Slaves)
查看>>
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
PyQt5--EventSender
查看>>
Sql Server 中由数字转换为指定长度的字符串
查看>>
Java 多态 虚方法
查看>>
Unity之fragment shader中如何获得视口空间中的坐标
查看>>
万能的SQLHelper帮助类
查看>>
tmux的简单快捷键
查看>>
[Swift]LeetCode922.按奇偶排序数组 II | Sort Array By Parity II
查看>>
Html5 离线页面缓存
查看>>
《绿色·精简·性感·迷你版》易语言,小到不可想象
查看>>
Android打包key密码丢失找回
查看>>
VC6.0调试技巧(一)(转)
查看>>
类库与框架,强类型与弱类型的闲聊
查看>>
webView添加头视图
查看>>
php match_model的简单使用
查看>>
在NT中直接访问物理内存
查看>>