杨辉三角II

杨辉三角

一、题目描述

给定一个非夫的索引rowIndex,返回[杨辉三角]中的,每个数是它左上方和右上方数的和。返回的是给定的索引处的行。
实例:

输入: rowIndex = 3
输出: [1,3,3,1]

输入: rowIndex = 0
输出: [1]

输入: rowIndex = 1
输出: [1,1]

二、解题思路

构造杨辉三角,输出索引处行即可。创建一个List集合。即可内是一个List集合来构造一个杨辉三角。使用两层for循环累实现。

三、解题方法

方法1
构造杨辉三角,直接返回所需行即可。
代码实现:

class Solution {
    public List<Integer> getRow(int rowIndex) {

        List<List<Integer>> ret = new ArrayList<List<Integer>>();
        
        for (int i = 0; i<=rowIndex;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)+ ret.get(i-1).get(j-1));
                }
            }
            ret.add(row);
        }
        return ret.get(rowIndex);
    }
}
posted @ 2022-10-08 22:30  z_coding  阅读(28)  评论(0)    收藏  举报