Leetcode#119 Pascal's Triangle II

原题地址

 

从编号为0开始,不断递推到第k个

如果用p[i][j]表示第i层,第j个数字,则有递推公式:

p[i][j] = p[i-1][j-1] + p[i-1][j]

因为只使用了相邻层,因此可以压缩状态空间

 

代码:

 1 vector<int> getRow(int rowIndex) {
 2         if (rowIndex < 0)
 3             return vector<int>();
 4             
 5         vector<int> res(rowIndex + 1, 1);
 6         
 7         for (int i = 1; i <= rowIndex; i++)
 8             for (int j = i - 1; j > 0; j--)
 9                 res[j] = res[j] + res[j - 1];
10                 
11         return res;
12 }

 

posted @ 2015-02-02 15:20  李舜阳  阅读(110)  评论(0编辑  收藏  举报