杨辉三角(数组)
Posted hujianglang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了杨辉三角(数组)相关的知识,希望对你有一定的参考价值。
//杨辉三角(数组) /* * @Description: Given a non-negative integer numRows, generate the first numRows of Pascal‘s triangle. * Input: 5 * Output: * [ * [1], * [1,1], * [1,2,1], * [1,3,3,1], * [1,4,6,4,1] * ] */ #include <stdlib.h> #include <vector> #include <iostream> using namespace std; vector<vector<int>> generate(int numRows){ vector<vector<int>> pascalTriangle; for(int i = 0; i < numRows; i++){ vector<int> v; if(i == 0){ v.push_back(1); } else{ v.push_back(1); for(int j=0; j < pascalTriangle[i-1].size()-1;j++){ v.push_back(pascalTriangle[i-1][j] + pascalTriangle[i-1][j+1]); } v.push_back(1); } pascalTriangle.push_back(v); } return pascalTriangle; } void printTriangle(vector<vector<int>> pt){ cout << "[" << endl; for(int i = 0;i<pt.size();i++){ for(int space=(pt.size()-i-1);space>=0;space--){ cout << " "; } for(int j = 0; j < pt[i].size(); j++){ cout << pt[i][j]; if(j<pt[i].size()-1){ cout << ","; } } cout << "]"; if(i<pt.size()-1){ cout << ","; } cout << endl; } cout << "]" << endl; } int main(int argc, char**argv) { int n = 3; if(argc > 1){ n = atoi(argv[1]); } printTriangle(generate(n)); }
以上是关于杨辉三角(数组)的主要内容,如果未能解决你的问题,请参考以下文章