这两天烦心事儿比较多,没什么干劲儿,做了道水题。 按帕斯卡三角的思路动归求解即可,ArrayList写着就比二维数组麻烦一点。
public class Solution {
public ArrayList<ArrayList<Integer>> generate(int numRows) {
ArrayList<ArrayList<Integer>> res = new ArrayList<ArrayList<Integer>>();
if( numRows==0 )
{
return res;
}
ArrayList<Integer> tmp = new ArrayList<Integer>();
tmp.add(1);
res.add(tmp);
for( int i=1;i<numRows;i++ )
{
tmp = new ArrayList<Integer>();
for( int j=0;j<=i;j++ )
{
int temp;
if( j==0 || j==i )
{
temp=1;
}
else
{
temp = res.get(i-1).get(j-1)+res.get(i-1).get(j);
}
tmp.add(temp);
}
res.add(tmp);
}
return res;
}
}
本文分享了一种使用Java实现的帕斯卡三角形生成算法。通过动态规划的方法,利用ArrayList存储每一行的数据,最终形成整个帕斯卡三角形。
295

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



