0
点赞
收藏
分享

微信扫一扫

力扣解题:杨辉三角 java

耳一文 2022-01-31 阅读 59
/*题目:给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。
* 示例 1:
输入: numRows = 5
输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]*/
import java.util.ArrayList;
import java.util.List;

public class YangHuiSanJiao {
       public List<List<Integer>> YangHui(int numRows){
           List<List<Integer>> list=new ArrayList<List<Integer>>();
           for (int i = 0; i < numRows; i++) {//根据行数进行循环制造当前每一行元素集合w
               int h=i+1;//定义每行的容量
               List<Integer> w = new ArrayList<Integer>(h);//每一行的容量它的行数
               if(i==0) w.add(1);//杨辉三角第一行为1
               else {//设置每一行的值
                   w.add(0,1);//除了第一行,每行的第一个都为1
                   List<Integer> n=list.get(i-1);//获取当前list的上一行相对应行数的值,用集合接收
                    for (int j = 0; j < i; j++) {
                        w.add(j,n.get(j)+n.get(j-1));//当前w[j]=w[j]+w[j-1]
                    }
                    w.add(i,1);//除了第一行,每行的最后一个元素都为1
                }
               list.add(w);//将存放当前行元素的w集合放入list集合中
           }
           return list;
       }
    }

题目链接:力扣

举报

相关推荐

杨辉三角.java

杨辉三角(Java)

杨辉三角(java)

力扣 NO.118 杨辉三角形

Java:实现杨辉三角

Java输出杨辉三角

0 条评论