杨辉三角形

此博客链接:

杨辉三角形

题目链接:

题目

给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。

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

 

 

 

 

示例 1:

输入: rowIndex = 3
输出: [1,3,3,1]
示例 2:

输入: rowIndex = 0
输出: [1]
示例 3:

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

 

题解

这次重新做杨辉三角形,发现以前的三角形思路给忘记了,但是大题思路都是当前的元素等于上一行元素和后面元素之和。这次我采用了列表来保存每行的数据,当

代码

class Solution {
    public List<Integer> getRow(int rowIndex) {
         List <Integer> res=new ArrayList();
        List <List <Integer> > list=new ArrayList();
      
        if(rowIndex==0)
        {
            res.add(1);
            list.add(res);
            return res;
        }
       
        if(rowIndex==1)
      {
          
            res.add(1);
            res.add(1);
            list.add(res);
            return res;
      }
        for(int i=2;i<=rowIndex;i++)
        {
            List <Integer> lis=new ArrayList();
             lis.add(1);
            for(int j=1;j<i;j++)
            {
              lis.add(list.get(i-1).get(j-1)+list.get(i-1).get(j));
            }
            lis.add(1);
            list.add(lis);
        }
        
       return list.get(rowIndex);
    }
}

 

结果

posted @ 2021-08-17 17:25  萍2樱释  阅读(49)  评论(0编辑  收藏  举报