2015年1月2日星期五

combination sum

[2 3 6 7] ,target=7
两种考虑方式:
1,遍历每个元素分别取能取的次数.
func(7,2) :
h(7,2取0次) = h(7-0,3 *0) +h(7-0,3 *1) +h(7-0,3 *2)  ;
这样转换成了子问题 h(7-0,3 *0) ,h(7-0,3 *1),h(7-0,3 *2),也即是func(7-2*0,3)
2取1次,
2取2次,
2取3次,

2,如果 结果集合中第一个取2,其他元素可能的取值2,3,6,7.
如果 结果集合中第一个取3,其他元素可能的取值 3,6,7  (因为不想跟前面的case重合)





没有评论:

发表评论