首页 > 代码库 > Pascal's Triangle
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] ]
解决方案
// 使用C++11新特性 class Solution { public: vector<vector<int>> generate( int numRows ) { /* 若numRows小于或等于0,则创建一个空的vector<vector<int>>对象 */ if( numRows <= 0 ) { return { }; } vector<vector<int>> result; // 用来作为结果 vector<int> firstRow = { 1 }; // 杨辉三角的第一行 result.push_back( firstRow ); vector<int> *previousRow = &firstRow; for( int r = 1; r < numRows; ++r ) { vector<int> t = { 1 }; for( int c = 1; c < r; ++c ) { t.push_back( (*previousRow)[c] + (*previousRow)[c - 1] ); } t.push_back( 1 ); result.push_back( t ); previousRow = &(result[r]); } return result; } };
Pascal's Triangle
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。