zoukankan      html  css  js  c++  java
  • 杨辉三角

    题目:

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

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

    示例:

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

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/pascals-triangle
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    分析:

    这道题目的规则实际上已经在题干中给出了,在杨辉三角中第一行和第二行是固定的,从第三行开始中间部分需要计算,但是首位数和末位数固定为1。

    第三行需要计算一次,第四行需要计算两次... ...

    由于前两行不需要计算,所以如果要求计算3行,那么实际上外层循环只需要执行一次,内层循环也只需要执行一次。如果要求计算4行,那么实际上外层循环只需要执行二次,第一次外层循环的内层循环执行一次,第二次外层循环的内层循环执行两次。

    代码:

    class Solution {
        public List<List<Integer>> generate(int numRows) {
            if (numRows == 0) {
                return new ArrayList<>();
            }
            List<List<Integer>> lists = new ArrayList<>();
            if (numRows >= 1) {
                List<Integer> oneRows = new ArrayList<>();
                oneRows.add(1);
                lists.add(oneRows);
            }
            if (numRows >= 2) {
                List<Integer> twoRows = new ArrayList<>();
                twoRows.add(1);
                twoRows.add(1);
                lists.add(twoRows);
            }
            if (numRows < 3) {
                return lists;
            }
            for (int i = 0; i < numRows - 2; i++) {
                List<Integer> anyRows = new ArrayList<>();
                anyRows.add(1);
                for (int j = 0; j < i + 1; j++) {
                    List<Integer> preRows = lists.get(i + 1);
                    anyRows.add(preRows.get(j) + preRows.get(j + 1));
                }
                anyRows.add(1);
                lists.add(anyRows);
            }
            return lists;
        }
    }
  • 相关阅读:
    VS2013 update4+Cocos2d-x 3.7 Win8下安装方法及配置
    它处资料:二分图最大匹配的匈牙利算法
    DataGuard备库ORA-01196故障恢复一则
    Leetcode41: Remove Duplicates from Sorted List
    BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 使用Napa开发SharePoint应用程序
    关于OC的内存管理-01
    P2002 消息扩散
    P1726 上白泽慧音
    2594 解药还是毒药
    P3385 【模板】负环
  • 原文地址:https://www.cnblogs.com/wxdmw/p/13279807.html
Copyright © 2011-2022 走看看