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

    题解:一A的简单题,按照定义生成向量即可。代码如下:

     1 class Solution {
     2 public:
     3     vector<vector<int> > generate(int numRows) {
     4         vector<vector<int> > answer;
     5         if(numRows == 0)
     6             return answer;
     7         vector<int> temp(1,1);
     8         answer.push_back(temp);
     9         
    10         for(int i = 1;i <= numRows - 1;i++){
    11             vector<int> last(answer[i-1]);
    12             vector<int> v(1,1);
    13             for(int j = 1;j <= i-1;j++){
    14                 v.push_back(last[j-1]+last[j]);
    15             }
    16             v.push_back(1);
    17             answer.push_back(v);
    18         }
    19         return answer;
    20     }
    21 };

    这里积累一下vector的各种初始化方式:

    vector<T>  v1; vector保存类型为T的对象。默认构造函数v1为空。
    vector<T> v2(v1); v2是v1的一个副本。
    vector<T> v3(n, i); v3包含n个值为i的元素。
    vector<T> v4(n); v4含有值初始化的元素的n个副本。

    上述代码中分别用到了前三种初始化方法。

  • 相关阅读:
    全表扫描
    服务器信息表
    事务的丢失更新
    oracle core 概述
    oracle命中率模型计算
    性能量化之cpu
    一个sql导致temp表空间爆掉
    oracle稳定执行计划1
    oracle热点表online rename
    oracle构建一致性读
  • 原文地址:https://www.cnblogs.com/sunshineatnoon/p/3780232.html
Copyright © 2011-2022 走看看