给一个整数集合s和一个整数n,请问s中是否存在一个子集合,这个集合里的元素和 等于 n
采用动态规划进行求解:
1. 设集合x的最小和以及最大和分别是min,max,设一个二维数组 m[n][max-min]
m[i][s] = 1表示找到了x[1...i]的一个子集和等于s
因此初试条件:m[1][x1] = 1
递推关系:
m[2][x] = 1 if m[1][x-x2] = 1, 否则 m[2][x] = m[1][x]
参考wiki 链接:http://en.wikipedia.org/wiki/Subset_sum