LeetCode118. 杨辉三角

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

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

示例:

输入: 5
输出:
[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]

思路:

class Solution {
     public  List<List<Integer>> generate(int n) {
		 if(n<0) {
			 return null;
		 }
		 List<List<Integer>> list=new ArrayList<>();
	     if(n>=1) {
	    	 List<Integer> date=new ArrayList<Integer>();
	    	 date.add(1);
	    	 list.add(date);
	     }
	     if(n>=2) {
	    	 List<Integer> date=new ArrayList<Integer>();
	    	 date.add(1);
	    	 date.add(1);
	    	 list.add(date);
	     }
	     if(n>=3) {
	    	 for(int i=3;i<=n;i++) {
	    		 List<Integer> date=new ArrayList<Integer>();
	    		 List<Integer> prev=list.get(i-2);
	    		 date.add(1);
	    		 for(int j=2;j<=i-1;j++) {
	    			 date.add(prev.get(j-1)+prev.get(j-2));
	    		 }
	    		 date.add(1);
	    		 list.add(date);
	    	 }
	     }
	        return list;
	    }
}

    原文作者:杨辉三角问题
    原文地址: https://blog.csdn.net/weixin_40550726/article/details/80580167
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞