儋州网站建设制作win7一键优化工具
链接: leetcode动态数组vector实现杨辉三角
由题意可易得,从第三行开始,除了开始和末尾的位置上的元素,其余位置上的元素都是由上方的元素以及上方左侧的元素相加得到的,此时就很容易的到从第三行开始状态转移方程为vv[i][j] = vv[i - 1][j] + vv[i - 1][j - 1],之后就可轻松求解。
class Solution {
public:vector<vector<int>> generate(int numRows) {vector<vector<int>> vv;vv.resize(numRows);for(int i = 0;i < numRows;i++){vv[i].resize(i + 1,0);vv[i].front() = vv[i].back() = 1;}//方法一for(int i = 0;i < vv.size();i++){for(int j = 1;j < vv[i].size();j++){if(vv[i][j] == 0)vv[i][j] = vv[i-1][j] + vv[i-1][j-1];}}//方法二for(int i = 0;i < numRows;i++){for(int j = 1;j < ii;j++){vv[i][j] = vv[i-1][j] + vv[i-1][j-1];}}return vv;}
};