Pascal's Triangle

来源:互联网 发布:破获网络贩卖枪支案件 编辑:程序博客网 时间:2024/05/17 01:17

问题描述

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;}};


0 0
原创粉丝点击