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]
]
代码一(3ms):
class Solution {
unsigned long long
choose(unsigned long long n, unsigned long long k) {
if (k > n) {
return 0;
}
unsigned long long r = 1;
for (unsigned long long d = 1; d <= k; ++d) {
r *= n--;
r /= d;
}
return r;
}
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> v;
for (int i = 1; i <= numRows; i++) {
vector<int> vv;
for (int j = 1; j <= i; j++) {
vv.push_back(choose(i-1, j-1));
}
v.push_back(vv);
}
return v;
}
};
近期评论