题目:
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]
]
题意:
题意很明确了,就是生成杨辉三角。
算法分析:
按行生成,每一行中出去两头的元素固定为1外,其余元素都是由对应上一行的两个元素的和得到的。
AC代码:
<span style="font-family:Microsoft YaHei;font-size:12px;">public class Solution
{
public List<List<Integer>> generate(int numRows)
{
List<List<Integer>> finallist=new ArrayList<List<Integer>>();
if (numRows==0) return finallist;
else
{
for(int i=0;i<=numRows-1;i++)
{
finallist.add(i,getRow(i));
}
}
return finallist;
}
public static List<Integer> getRow(int rowIndex)
{
List<Integer> a=new ArrayList<Integer>();
for (int i=0;i<=rowIndex;i++)
{
Integer[] ta =new Integer[a.size()];
a.toArray(ta);
for(int j=0;j<i+1;j++)
{
if(j==i) a.add(j,1);
else if (j==0) a.set(j,1);
else
{
int temp=ta[j-1]+ta[j];
a.set(j,temp);
}
}
}
return a;
}
}</span>
本文详细介绍了如何使用Java编程语言生成指定行数的杨辉三角,包括算法分析及AC代码实现。
117

被折叠的 条评论
为什么被折叠?



