zoukankan      html  css  js  c++  java
  • 118. Pascal's Triangle

    1. 问题描述

    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]
    ]
    Tags:Array
    Similar Problems:(E) Pascal's Triangle II

    2. 解题思路


    3. 代码

    class Solution {
    public:
        vector<vector<int>> generate(int numRows)
        {
            vector<vector<int>> vResult;
            vector<int> vCurRow;
            vector<int> vLastRow;
            if (numRows <= 0)
            {
                return vResult;
            }
            if (1 <= numRows)
            {
                vCurRow.push_back(1);
                vResult.push_back(vCurRow);
            }
    
            if (2 <= numRows)
            {
                vCurRow.push_back(1);
                vResult.push_back(vCurRow);
            }
            vLastRow = vCurRow;
    
            if (3 <= numRows)
            {
                for (int i=3; i<=numRows; i++)
                {
                    vCurRow.clear();
                    for (int j=0; j<i; j++)
                    {
                        if (0 == j)
                        {
                            vCurRow.push_back(1);
                        }
                        else if (i-1 == j)
                        {
                            vCurRow.push_back(1);
                        }
                        else
                        {
                            int num = vLastRow[j-1] + vLastRow[j];
                            vCurRow.push_back(num);
                        }
                    }
                    vResult.push_back(vCurRow);
                    vLastRow = vCurRow;
                }
            }
    
            return vResult;
        }
    };

    4. 反思

  • 相关阅读:
    java知识总结-15
    java知识总结-14
    java知识总结-13
    Java知识总结-12
    Java知识总结-11
    Java知识总结-10
    Java知识总结-9
    Java知识总结-8
    Java知识总结-7
    SSO
  • 原文地址:https://www.cnblogs.com/whl2012/p/5844067.html
Copyright © 2011-2022 走看看