118. Pascal's Triangle

Description

Given numRows, generate the first numRows of Pascal's triangle.

For example, given numRows = 5,
Return

Solution

DP

dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j]

class Solution {
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> rows = new ArrayList();
        if (numRows < 1) return rows;
        
        for (int i = 0; i < numRows; ++i) {
            List<Integer> row = new ArrayList();
            for (int j = 0; j <= i; ++j) {
                if (j == 0 || j == i) {
                    row.add(1);
                } else {
                    row.add(rows.get(i - 1).get(j - 1) + rows.get(i - 1).get(j));  
                }
            }
            rows.add(row);
        }
        
        return rows;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容