leetcode筆記:Pascal's Triangle
阿新 • • 發佈:2017-07-22
ron java span ++ 對齊 hid 帕斯卡 -s ner
一. 題目描寫敘述
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]
]
二. 題目分析
關於帕斯卡三角形的定義,可參考:http://baike.baidu.com/link?url=qk_-urYQnO4v6v3P4BuMtCa0tMNUqJUk4lmbkb1aqbqikBU-ndiMlTF20fq2QUjTTFTeTohZ72KFxgBnz4sJha
將該三角形的左邊對齊。就行發現,tri[i][j] = tri[i-1][j-1] + tri[i-1][j]
。因此這裏的代碼並沒有什麽技巧。
三. 演示樣例代碼
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> result;
if (numRows <= 0)
return result;
else
{
vector <int> temp(1, 1);
result.push_back(temp);
if (numRows == 1) return result;
temp.push_back(1);
result.push_back(temp);
if (numRows == 2) return result;
for (int i = 2; i < numRows; ++i)
{
vector <int> temp(i + 1, 1);
for (int j = 1; j < i; ++j)
temp[j] = result[i - 1][j - 1] + result[i - 1][j];
result.push_back(temp);
}
}
return result;
}
};
leetcode筆記:Pascal's Triangle