杨辉三角II
难度:简单
题目描述
给定一个非负索引 rowIndex
,返回「杨辉三角」的第 rowIndex
行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。
示例1
输入: rowIndex = 3
输出: [1,3,3,1]
示例2
输入: rowIndex = 0
输出: [1]
示例3
输入: rowIndex = 1
输出: [1,1]
题解
可以利用两个列表,一个列表用于获取新行,一个列表用于存储,基本的解题思路和 0118
的思路相同
想法代码
public class Solution
{
public static void Main(string[] args)
{
Solution solution = new Solution();
int rowIndex = 3;
IList<int> ans = solution.GetRow(rowIndex);
foreach (var a in ans)
{
Console.Write(a + " ");
}
}
public IList<int> GetRow(int rowIndex)
{
IList<int> ans = new List<int>();
for (int i = 0; i <= rowIndex + 1; i++)
{
IList<int> t = new List<int>();
for (int j = 0; j < i; j++)
{
if (j == 0 || j == i - 1)
{
t.Add(1);
}
else
{
t.Add(ans[j - 1] + ans[j]);
}
}
ans = t;
}
return ans;
}
}