首页 > 代码库 > [leetcode-118-Pascal's Triangle]
[leetcode-118-Pascal's Triangle]
Given numRows, generate the first numRows of Pascal‘s triangle.
For example, given numRows = 5,
Return
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
思路:
很明显,每一层第一个数字和最后一个数字均为1,中间其余数字只与上一层中的两个数字有关系。
即level[i][j] = level[i-1][j-1] + level[i-1][j](i>0 && j>0 && j<level.size)。
vector<vector<int> > generate(int numRows) { vector<vector<int>> result; if(numRows<1)return result; vector<int>level; level.push_back(1); result.push_back(level); for(int i = 1;i<numRows;i++) { level.clear(); level.push_back(1); for(int j=1;j<i;j++) { level.push_back(result[i-1][j-1] + result[i-1][j]); } level.push_back(1); result.push_back(level); } return result; }
[leetcode-118-Pascal's Triangle]
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。