zoukankan      html  css  js  c++  java
  • [LeetCode 题解]: 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 class Solution {
     2 public:
     3     vector<vector<int> > generate(int numRows) {
     4         vector<int> vi;
     5         vector<vector<int> > ans;
     6         int i,j;
     7         vi.push_back(1);
     8         ans.clear();   // 注意初始化
     9         if(numRows<=0) return ans;
    10         if(1==numRows)
    11         {
    12             ans.push_back(vi);
    13             return ans;
    14         }
    15         if(2==numRows)
    16         {
    17             ans.push_back(vi);
    18             vi.push_back(1);
    19             ans.push_back(vi);
    20             return ans;
    21         }
    22 
    23         ans.push_back(vi);
    24         vi.push_back(1);
    25         ans.push_back(vi);
    26         for(i=2;i<numRows;i++)
    27         {
    28             vi.clear();
    29             vi.push_back(1);
    30             for(j=1;j<i;j++)
    31             {
    32                 vi.push_back(ans[i-1][j-1]+ans[i-1][j]);
    33             }
    34             vi.push_back(1);
    35             ans.push_back(vi);
    36         }
    37         return ans;
    38     }
    39 };

     转载请注明出处: http://www.cnblogs.com/double-win/ 谢谢!

  • 相关阅读:
    字符串匹配的KMP算法(转)
    二分查找谜题
    快排的优化--说说尾递归
    ZR提高失恋测4
    CF1209
    ZR普转提2
    ZR提高失恋测3
    ZR提高失恋测2(9.7)
    ZR9.8普转提
    CF1214
  • 原文地址:https://www.cnblogs.com/double-win/p/3709435.html
Copyright © 2011-2022 走看看