程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 118. Pascal's Triangle,118pascaltriangle

118. Pascal's Triangle,118pascaltriangle

編輯:C++入門知識

118. Pascal's Triangle,118pascaltriangle


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

分析 第k層有k個元素,每層第一個及最後一個元素值為1,對於(k>2)層,第n(n>1 && n < k)個元素A[k][n] = A[k-1][n-1]+A[k-1][n];
 1 class Solution {
 2 public:
 3     vector<vector<int>> generate(int numRows) {
 4         vector<vector<int>> vals;
 5         
 6         vals.resize(numRows);
 7         
 8         for(int i = 0; i < numRows; i++){
 9             vals[i].resize(i+1);
10             vals[i][0] = 1;
11             vals[i][vals[i].size()-1] = 1;
12             for(int j = 1; j < vals[i].size()-1; j++){
13                 vals[i][j] = vals[i-1][j-1]+vals[i-1][j];
14             }
15         }
16         return vals;
17     }
18 };

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved