118. Pascal's Triangle
建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡(luò)程序員、網(wǎng)頁設(shè)計(jì)師等,應(yīng)用各種網(wǎng)絡(luò)程序開發(fā)技術(shù)和網(wǎng)頁設(shè)計(jì)技術(shù)配合操作的協(xié)同工作。創(chuàng)新互聯(lián)專業(yè)提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站制作(企業(yè)站、成都響應(yīng)式網(wǎng)站建設(shè)公司、電商門戶網(wǎng)站)等服務(wù),從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗(yàn)的提升,我們力求做到極致!
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] ]
題目大意:
輸入行數(shù),輸出如上圖所示的數(shù)組。(楊輝三角)
思路:
用雙vector來處理當(dāng)前行和下一行。
代碼如下:
class Solution { public: vector> generate(int numRows) { vector > result; if(numRows == 0) return result; vector curVec; vector nextVec; for(int i = 0;i < numRows; i++) { for(int j = 0;j<=i;j++) { if(j == 0) nextVec.push_back(1); else { if(j >= curVec.size()) nextVec.push_back(curVec[j-1]); else nextVec.push_back(curVec[j] + curVec[j-1]); } } result.push_back(nextVec); curVec.swap(nextVec); nextVec.clear(); } return result; } };
2016-08-12 09:34:50