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

    Given numRows, generate the first numRows of Pascal's triangle.

    For example, given numRows = 5, (Easy)
    Return

    [
         [1],
        [1,1],
       [1,2,1],
      [1,3,3,1],
     [1,4,6,4,1]
    ]
    

    分析:

    求解杨辉三角形,按照其定义以此求解即可,注意优化写法使其能够更简洁(比如对于二维数组每一行的个数其实是已知的,所以可以先push_back一个长度的数组,后面直接用下标访问),即第二种写法的代码。

    代码:

     1 class Solution {
     2 public:
     3     vector<vector<int>> generate(int numRows) {
     4         vector<vector<int>> result;
     5         if (numRows == 0) {
     6             return result;
     7         }
     8         vector<int> oldVec{1};
     9         result.push_back(oldVec);
    10         for (int i = 2; i <= numRows; ++i) {
    11             vector<int> newVec;
    12             for (int j = 0; j < i; ++j) {
    13                 int temp;
    14                 if (j > 0 && j < oldVec.size()) {
    15                     temp = oldVec[j] + oldVec[j - 1];
    16                 }
    17                 else if (j > 0){
    18                     temp = oldVec[j - 1];
    19                 }
    20                 else {
    21                     temp = oldVec[0];
    22                 }
    23                 newVec.push_back(temp);
    24             }
    25             result.push_back(newVec);
    26             oldVec = newVec;
    27         }
    28         return result;
    29     }
    30 };
     1 class Solution {
     2 public:
     3     vector<vector<int>> generate(int numRows) {
     4         vector<vector<int>> result;
     5         if (numRows == 0) {
     6             return result;
     7         }
     8         vector<int> init{1};
     9         result.push_back(init);
    10         for (int i = 2; i <= numRows; ++i) {
    11             result.push_back(vector<int>(i,1));
    12             for (int j = 1; j < i - 1; ++j) {
    13                 result[i - 1][j] = result[i - 2][j] + result[i - 2][j - 1];
    14             }
    15         }
    16         return result;
    17     }
    18 };
  • 相关阅读:
    PHP Session保存到数据库
    PHP empty操作记录
    jquery 捕捉回车事件
    滚动条样式设计IE支持
    PHP 常用字符串处理代码片段
    JQuery选择符分类汇总
    php 操作数组 (合并,拆分,追加,查找,删除等)
    救命的PHP代码
    耍耍
    标准国家代码
  • 原文地址:https://www.cnblogs.com/wangxiaobao/p/6091148.html
Copyright © 2011-2022 走看看