第119题:杨辉三角II

一. 问题描述

给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。

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

示例:

输入: 3

输出: [1,3,3,1]

二. 解题思路

本题四路:采用递归的方法进行求解,步骤跟第118题类似,只是只需要将第k行输出(具体参考第118题)。

三. 执行结果

执行用时 :1 ms, 在所有 java 提交中击败了95.19%的用户

内存消耗 :34 MB, 在所有 java 提交中击败了22.20%的用户

四. Java代码

class Solution {
    public List<Integer> getRow(int rowIndex) {
        List<Integer> data=new ArrayList<Integer>();
        data.add(1);
        if(rowIndex==0) {
            return data;
        }else {
            return getRow(data,2,rowIndex+1);
        }
    }
     public List<Integer> getRow(List<Integer> data,int number,int tacket) {
        List<Integer> newdata=new ArrayList<Integer>();
        for(int i=0;i<number;i++) {
            if(i==0||i==number-1) {
                newdata.add(1);
            }else {
                int temp=data.get(i-1)+data.get(i);
                newdata.add(temp);
            }
        }
        if(number==tacket) {
            return newdata ;
                }else {
             return getRow(newdata,number+1,tacket);
                }
    }
}

 

posted @ 2019-11-18 14:10  fish大叔  阅读(174)  评论(0编辑  收藏  举报