您的位置:首页 > 其它

Pascal's Triangle

2015-07-04 00:37 316 查看
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]
]


Show Tags

Have you met this question in a real interview?
上面的三角就是杨辉三角,要得到下一行的元素(除了开头和结束都是1),就要从本行入手,注意到这个关系就好入手了。
代码如下:
public class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> result = new ArrayList<List<Integer>>();

for(int i=1;i<=numRows;i++){
if(i==1){
List<Integer> list = new ArrayList<Integer>();
list.add(1);
result.add(list);

}else{
List<Integer> temp = result.get(i-2);
List<Integer> list = new ArrayList<Integer>();
for(int j=1;j<=i;j++){
if(j==1||j==i){
list.add(1);
}else{
list.add(temp.get(j-2)+temp.get(j-1));
}
}
result.add(list);
}
}

return result;
}
}
参考博客:http://blog.csdn.net/u010500263/article/details/18031409
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: