Saturday, September 9, 2017

[LeetCode] Permutations II


只需要在Permutaitons增加去重的步骤就可以了。那么重复的排列来自哪里呢,比如说我们在选第i位的数的时候,我们选了k,那么当dfs之后我们回来,剩下的数还有k的时候我们有可能又选到k,这样就产生了重复,所以我们要保证排每一位的时候,不要排之前排过的重复的数,那么一个hashset就可以帮我们做到这一点,时间复杂度O(n!),空间复杂度O(n)(递归深度)代码如下:

解法一:

解法二:

No comments:

Post a Comment