zoukankan      html  css  js  c++  java
  • [LeetCode] 118. Pascal's Triangle Java

    题目:

    Given numRows, generate the first numRows of Pascal's triangle.

    For example, given numRows = 5,
    Return

    [
         [1],
        [1,1],
       [1,2,1],
      [1,3,3,1],
     [1,4,6,4,1]
    ]
    

     题意及分析:给出一个杨辉三角的前numRow行。题比较简单,直接产生每一行,然后添加进去即可,每一行的第一个数为1,第二行开始最后一个数也为1,中间的数由上一行产生。

    代码:

    class Solution {
        public List<List<Integer>> generate(int numRows) {
            List<List<Integer>> result = new ArrayList<>();
    
            for(int i=1;i<=numRows;i++){
                List<Integer> list = new ArrayList<>();
                list.add(1);  //每行第一个数为1
                List<Integer> preRowList = new ArrayList<>();  //取出上一行数据
                if(result.size()>1)
                    preRowList = result.get(result.size()-1);
                for(int k=1;k<i-1;k++){       //长生每行中间的数
                    list.add(preRowList.get(k-1)+preRowList.get(k));
                }
                if(i>=2)      //第二行开始每一行最后都为1
                    list.add(1);
                result.add(list);
            }
            return result;
        }
    }

     
    Seen this question in a real inte
  • 相关阅读:
    luogu 2627 修剪草坪
    luogu2746 [USACO5.3]校园网Network of Schools
    luogu 1558 色板游戏
    luogu 2827 蚯蚓
    POJ 2559 Largest Rectangle in a Histogram
    luogu 1886 滑动窗口
    luogu 1090 合并果子
    uva 11572
    uva 12626
    uva 10222
  • 原文地址:https://www.cnblogs.com/271934Liao/p/7813241.html
Copyright © 2011-2022 走看看