码迷,mamicode.com
首页 > 编程语言 > 详细

一、数组---杨辉三角

时间:2019-06-08 19:04:47      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:src   mic   定义   技术   style   lse   new   计算   bsp   

给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。

 技术图片

 

在杨辉三角中,每个数是它左上方和右上方的数的和。

示例:

输入: 5
输出:
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]

 

思路 

每行首尾都是1,可以先先初始化每行全是1,再计算修改

代码:

 1 class Solution {
 2 public:
 3     vector<vector<int>> generate(int numRows) {
 4         //先定义一个空数组,用来存放杨辉三角的每一行——小数组
 5         vector<vector<int>> res;
 6         //前两行是默认的数组
 7         if(numRows<=2){
 8             for(int i=0;i<numRows;i++){
 9                 vector<int> small(i+1,1);//第1行有1个1,第二行有2个1
10                 res.push_back(small);//将前两行存入到res空数组中
11             }
12             return res;//res包含了杨辉三角的前两行
13         }
14         else{
15             res = generate(numRows-1);//得到前numRows-1行的res数组
16             vector<int> newsmall(numRows,1);//初始化第numsRow行
17             //由第numRows-1行计算得到第numRows行,第numRows-1行在res数组中的索引为numRows-2
18             for(int j=0;j<res[numRows-2].size()-1;j++){
19                 newsmall[j+1] = res[numRows-2][j] + res[numRows-2][j+1];
20             }
21             res.push_back(newsmall);
22         }
23         return res;
24     }
25 };

 

一、数组---杨辉三角

标签:src   mic   定义   技术   style   lse   new   计算   bsp   

原文地址:https://www.cnblogs.com/pacino12134/p/10991329.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!