46ZPermutations

给定一个整数数组集合, 返回所有的数组排列可能

 

my solution (16ms)

如果单纯想要做出来, 很简单, 递归就完事了

内存使用率应该很高, 因为每一次递归都会重新创建临时对象

但是想不到什么好的方式在不影响速度的情况下解决这个问题...

emmm, 内存使用果然很高...

(这个问题是几个月之前尝试过的, 试了 3 次没有成功, 今天一次就成功了,

而且解题的时间也挺短的, 看来进步还不错)

 

the best solution (14ms)

看一下最好的算法是怎么解决这个问题的

他将 permute 中的循环合并到了 permuteRecursive 里面

核心在于 swap, 通过交换, 这样 result 就始终只有一个, 取而代之的是多了一个 int 参数传递