g***j 发帖数: 1275 | 1 subset, combination, permutation
这几个题目非常相似,思路是递归,记住当前的位置,取或者不取两种情况,然后下一
层递归,但是我有两个地方对这三个地方很不清楚,第一个是
1) 哪种情况需要判断一个元素是否使用过,就是需要使用used数组传给下一层递归?
2) 哪种情况需要在递归call了之后,把前面的添加的元素去掉?
我的理解是,
1) 只有permutation需要使用used的数组,其他两个都不需要,因为只有permutation
才涉及到位置,其他两个,都只看当前位置后面的元素。如果permutation里面用swap
把需要放的数据和当前位置的数据对换的话,也不需要used。
2) 在call了递归函数后,都需要把前面添加的元素去掉。
希望各位大牛指正。 |
s*********s 发帖数: 318 | 2 我的体会还是要自己琢磨,这样在面试的时候,interviewer变换题目的时候才能对他
如流。
1)有没有重复的元素?
2)需要backtracking吗? |
g***j 发帖数: 1275 | 3 就是琢磨不清楚呀,看一个,懂,看第二个懂,全部放一起,面糊了。
【在 s*********s 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 我的体会还是要自己琢磨,这样在面试的时候,interviewer变换题目的时候才能对他 : 如流。 : 1)有没有重复的元素? : 2)需要backtracking吗?
|
g**G 发帖数: 767 | 4 还真这么教条去记题目啊。。这么简单的题就直接想呗 |
p*****2 发帖数: 21240 | 5
题目不算简单,如果没见过的话。不过确实做的时候再想也来得及。主要是找规律。
【在 g**G 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 还真这么教条去记题目啊。。这么简单的题就直接想呗
|
g***j 发帖数: 1275 | 6 不是记题目啊,是在研究规律
【在 g**G 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 还真这么教条去记题目啊。。这么简单的题就直接想呗
|