您的位置:首页 > 其它

LeetCode-Easy部分中标签为Array#118: Pascal’s Triangle

2017-03-27 22:51 423 查看

原文

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]
]


题目意思

生成指定行数的Pascal’s Triangle。

题目分析

总结这个图形的规律,利用数学归纳法推导。设返回的变量类型为如下,实例pastri,

IList<IList<int>> pastri;

已知 pastri[0] = new List<int>();
pastri[1] = new List<int>(){1};
若已知 pastri[i] =  new List<int>{1,a1,...,ai-1,ai}; //共i个数
则,pastri[i+1] = new List<int>{1,1+a1,...,ai-1+ai,1}; //共i+1个数


代码实现

public class Solution
{
public IList<IList<int>> Generate(int numRows)
{
IList<IList<int>> rtn = new List<IList<int>>();
for(int i=0; i<numRows;i++)
{
IList<int> ints = new List<int>();
ints.Add(1);
for(int j=1;j<i;j++)
{
IList<int> intsPreRow = rtn[i-1];
ints.Add(intsPreRow[j-1]+intsPreRow[j]);
}
if(i>0)
ints.Add(1);

rtn.Add(ints);
}
return rtn;
}
}


更多LeetCode题目

LeetCode-题目按tag分类

LeetCode-Easy部分中标签为Array的所有题目
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: