美文网首页
帕斯卡三角形

帕斯卡三角形

作者: 小白学编程 | 来源:发表于2018-10-09 17:39 被阅读0次

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


    image.png

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

    示例:

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

    class Solution {
        public List<List<Integer>> generate(int numRows) {
            List<List<Integer>> L = new ArrayList<List<Integer>>();
            if (numRows == 0){
                return L;
            }
            
            List<Integer> list1 = new ArrayList<Integer>();
            List<Integer> list2 = new ArrayList<Integer>();
            list1.add(1);
            L.add(list1);
            if (numRows == 1){
                return L;    
            }
            list2.add(1);
            list2.add(1);
            L.add(list2);
            if (numRows == 2){
                return L;
            }
            List<Integer> preList = null;
            for (int row = 3; row <= numRows; ++row){
                List<Integer> currentList = new ArrayList<Integer>();
                currentList.add(1);
                preList = L.get(L.size()-1);
                
                for (int i = 1; i < preList.size(); ++i){
                    currentList.add(preList.get(i) + preList.get(i - 1));
                    
                }
                currentList.add(1);
                L.add(currentList);
            }
            return L;
            
        }
    }
    

    相关文章

      网友评论

          本文标题:帕斯卡三角形

          本文链接:https://www.haomeiwen.com/subject/rpjyaftx.html