zoukankan      html  css  js  c++  java
  • [LeetCode 118]

    问题

    给出变量numRows,生成杨辉三角形的前numRows行。

    例如,给出numRows=5,返回:

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

    初始思路

    基本算法和 杨辉三角形II(Pascal's Triangle II) 的基本一致。每算完一行的值将这些值拷贝一份到vector中即可。代码如下:

     1 class Solution {
     2     public:
     3         std::vector<std::vector<int> > generate(int numRows)
     4         {
     5             std::vector<std::vector<int> > result;
     6             
     7             std::vector<int> columnInfo;
     8             
     9             if(numRows == 0)
    10             {
    11                 return result;
    12             }
    13             
    14             columnInfo.push_back(1);
    15             result.push_back(columnInfo);
    16             
    17             if(numRows == 1)
    18             {
    19                 return result;
    20             }
    21             
    22             columnInfo.push_back(1);
    23             
    24             
    25             for(int i = 1; i < numRows; ++i)
    26             {
    27                 for(int j = i; j > 0; --j)
    28                 {
    29 //第一列和最后一列永远为1,不需要进行处理
    30                     if(j != 0 && j != i)
    31                     {
    32                         columnInfo[j] = columnInfo[j - 1] + columnInfo[j];
    33                     }
    34                 }
    35                         
    36                 result.push_back(columnInfo);
    37 //下一行开始列数相应增加,且最后一列的数字肯定是1
    38                 columnInfo.push_back(1);
    39 
    40             }
    41             
    42             return result;
    43         }
    44     };
    generate
  • 相关阅读:
    692. Top K Frequent Words
    659. Split Array into Consecutive Subsequences
    hdu5015矩阵快速幂
    codefroces 450B矩阵快速幂
    ural Ambitious Experiment 树状数组
    poj3254 状态压缩dp
    poj2686 状压dp入门
    hdu4763 kmp
    hdu4847 kmp
    hdu3294 manacher
  • 原文地址:https://www.cnblogs.com/shawnhue/p/leetcode_118.html
Copyright © 2011-2022 走看看