Given an index k, return the kth row of the Pascal‘s triangle.
For example, given k = 3,
Return [1,3,3,1]
.
Note:
Could you optimize your algorithm to use only O(k) extra space?
内层循环,使用递减方式。
因为计算当前值时,需要用到上一行的当前列和前一列。
如果从前向后的话,需要额外使用一个变量,来保存前一列的历史值。
class Solution { public: vector<int> getRow(int rowIndex) { vector<int> ans(rowIndex+1, 1); for (int i=0; i<=rowIndex; i++) { for (int j=i-1; j>0; j--) { ans[j] += ans[j-1]; } } return ans; } };
Pascal's Triangle II -- leetcode
原文地址:http://blog.csdn.net/elton_xiao/article/details/45788933