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
  • 相关阅读:
    常见的排序算法
    322. Coin Change
    C++ STL中的lower_bound,upper_bound使用小结
    滑动窗口题汇总
    1658. Minimum Operations to Reduce X to Zero
    739. Daily Temperatures
    240. Search a 2D Matrix II
    474. Ones and Zeroes
    221. Maximal Square
    javac不是内部或外部命令
  • 原文地址:https://www.cnblogs.com/271934Liao/p/7813241.html
Copyright © 2011-2022 走看看