程序员社区

LeetCode118 杨辉三角

目录

题目

给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

LeetCode118 杨辉三角插图 

示例 1
输入: numRows = 5
输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

提示:

  • 1 <= numRows <= 30

方法 数学

class Solution {
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> ret = new ArrayList<List<Integer>>(); 
        for(int i = 0;i < numRows; ++i){
            List<Integer> row = new ArrayList<Integer>();
            for(int j = 0; j <= i; ++j){
                if(j == 0 || j == i){
                    row.add(1);
                } else {
                    row.add(ret.get(i-1).get(j-1) + ret.get(i-1).get(j));
                }
            }
            ret.add(row);
        }
        return ret;
    }
}

赞(0) 打赏
未经允许不得转载:IDEA激活码 » LeetCode118 杨辉三角

一个分享Java & Python知识的社区