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

    118. Pascal's Triangle

    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]
    ]
    

    在每一行后面+1, 再更新该行.
    另外学会向vector容器中放vector元素.
    人家代码,自己理解:

    vector<vector<int>> generate(int numRows) {
        vector<vector<int>> result;
        vector<int> row;
    
        // i = 0, 该行有1元素, j = -1, 但合并条件是j > 0
        // i = 1, 该行有2元素, j = 0, 但合并条件是j > 0
        // i = 2, 该行有3元素, j 指向倒数第二个元素
        // i = 3, 该行有4元素, j 指向倒数第二个元素
        for (int i = 0; i < numRows; i++) {
            row.push_back(1); // 在尾部先+1
    
            for (int j = i - 1; j > 0; j--)
                //和j的前一个元素合并至j位置
                row[j] = row[j - 1] + row[j];
            result.push_back(row);
        }
        return result;
    }
    
  • 相关阅读:
    Redis
    Redis入门
    C#编程--语句(分支语句)
    C#编程--运算符
    C#编程--输入和输出
    C#编程进制转换
    C#语言课程11月10日
    C#语言课程11月9日
    C#语言课程11月7日
    C#语言课程11月6日
  • 原文地址:https://www.cnblogs.com/ZhongliangXiang/p/7356994.html
Copyright © 2011-2022 走看看