首页 > 其他 > 详细

LeetCode | Pascal's Triangle

时间:2014-03-11 08:35:54      阅读:446      评论:0      收藏:0      [点我收藏+]

题目

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

逐层构造,注意边界条件。

代码

import java.util.ArrayList;

public class PascalTriangle {
	public ArrayList<ArrayList<Integer>> generate(int numRows) {
		ArrayList<ArrayList<Integer>> results = new ArrayList<ArrayList<Integer>>();
		if (numRows <= 0) {
			return results;
		}
		ArrayList<Integer> firstRow = new ArrayList<Integer>();
		firstRow.add(1);
		results.add(firstRow);
		ArrayList<Integer> lastRow = firstRow;
		for (int i = 1; i < numRows; ++i) {
			ArrayList<Integer> row = new ArrayList<Integer>();
			row.add(1);
			for (int j = 1; j < i - 1; ++j) {
				row.add(lastRow.get(j - 1) + lastRow.get(j));
			}
			row.add(1);
			results.add(row);
			lastRow = row;
		}
		return results;
	}
}

LeetCode | Pascal's Triangle,布布扣,bubuko.com

LeetCode | Pascal's Triangle

原文:http://blog.csdn.net/perfect8886/article/details/20872103

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!