leetcode 33:pascals-triangle
阿新 • • 發佈:2020-08-16
給出一個值numRows,生成楊輝三角的前numRows行
例如,給出numRows= 5,
返回
[↵ [1],↵ [1,1],↵ [1,2,1],↵ [1,3,3,1],↵ [1,4,6,4,1]↵]
題目分析:
這道題其實和上道題leetcode 32:pascals-triangle-ii的解法基本一致,只是在輸出的處理上有所不同。
程式碼如下:
1 vector<vector<int> > generate(int numRows) { 2 vector<vector<int>> ret; 3 if(numRows <= 0) 4 return ret; 5 vector<int> tmp(numRows,0); 6 tmp[0] = 1; 7 8std::vector<int> ll; 9 ll.push_back(1); 10 ret.push_back(ll); 11 for (int i = 1; i < numRows; i++) 12 { 13 std::vector<int> tt; 14 for (int j = i; j >= 1; j--) 15 { 16 tmp[j] += tmp[j - 1];17 } 18 19 for (int k = 0; k <= i; k++) 20 { 21 tt.push_back(tmp[k]); 22 } 23 ret.push_back(tt); 24 } 25 return ret; 26 }