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

    https://leetcode.com/problems/pascals-triangle/description/

    思路:先写好base case,也就是杨辉三角的前两行。然后从第2 行开始递推第3 行。往后的每一行都由前一行推出。

    知道第n 行求n+1 行很简单,首先开头都是1,然后从0 开始遍历第n 行,每两个第n 行的元素相加生成n+1 行的一个元素。

    class Solution {
    public:
        vector<vector<int>> generate(int numRows) {
            vector<vector<int>> rows;
            vector<int> first{1};
            vector<int> second{1, 1};
            if (numRows <= 0) return rows;
            rows.push_back(first);
            if (numRows == 1) return rows;
            rows.push_back(second);
            if (numRows < 3) return rows;
            
            vector<int> row;
            for (int i = 2; i < numRows; i++) {
                vector<int> &prev = rows[i-1];
                row.push_back(1);
                for (int j = 0; j < prev.size()-1; j++) {
                    row.push_back(prev[j]+prev[j+1]);
                }
                row.push_back(1);
                rows.push_back(row);
                row.clear();
            }
            return rows;
        }
    };
  • 相关阅读:
    Hello World
    JAVA环境变量配置
    基本的Dos命令
    博客的重要性
    MySQL——合并查询结果
    mysql中使用正则表达式查询
    MySQL高级查询
    MySQL之常用函数
    MySQL之多表操作
    MySQL之增删改查
  • 原文地址:https://www.cnblogs.com/agentgamer/p/9789545.html
Copyright © 2011-2022 走看看