把上面的例子变一下型就清楚了。
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
定义T[i][j]为该三角形第i行,第j列的元素,所以可以获得递推函数为
T[i][j] = T[i-1][j] + T[i-1][j-1] if i>0 && j>0
T[i][j] = T[i-1][j] + T[i-1][j-1] if i>0 && j>0
Or
= 1 if i=0
Or
= T[i-1][j] if j=0
滚动数组实现。注意Line11,要从后往前加,否则会产生冗余计算。
https://www.careercup.com/question?id=5745534851612672
follow up:1. 输出array能组成triangle的数目。2. 输出所有的能组成的triangle。time complexity,优化等