【LeetCode-119】 Pascal's Triangle II(C++)
2016-09-08 11:34
465 查看
题目要求:返回杨辉三角的第k行。
解题方法:
1.第一种方法就是根据杨辉三角的构成方式,每一行的元素等于上一行元素的左右两个数之和,然后将每一行都算出来循环计算。
2.利用杨辉三角的公式:result[i]=result[i-1]*(rowIndex-i+1)/i
class Solution {
public:
vector<int> getRow(int rowIndex) {
vector<int> result(rowIndex+1,0);
result[0]=result[rowIndex]=1;
for(int i=1;i<=rowIndex/2;i++){
result[i]=result[rowIndex-i]=(unsigned long)result[i-1]*(rowIndex-i+1)/i;
}
return result;
}
};
解题方法:
1.第一种方法就是根据杨辉三角的构成方式,每一行的元素等于上一行元素的左右两个数之和,然后将每一行都算出来循环计算。
class Solution { public: vector<int> getRow(int rowIndex) { vector<int> result(rowIndex+1,1); if(rowIndex<2) return result; for(int i=2;i<=rowIndex;i++){ for(int j=i-1;j>0;j--){ result[j]+=result[j-1]; } } return result; } };
2.利用杨辉三角的公式:result[i]=result[i-1]*(rowIndex-i+1)/i
class Solution {
public:
vector<int> getRow(int rowIndex) {
vector<int> result(rowIndex+1,0);
result[0]=result[rowIndex]=1;
for(int i=1;i<=rowIndex/2;i++){
result[i]=result[rowIndex-i]=(unsigned long)result[i-1]*(rowIndex-i+1)/i;
}
return result;
}
};
相关文章推荐
- Leetcode_c++: Pascal's TriangleII (119)
- leetcode 119 Pascal's Triangle II C++
- LeetCode - 119. Pascal's Triangle II - 思路详解 - C++
- 【LeetCode】119.Pascal Triangle II
- 【LeetCode】119 Pascal's Triangle II
- [C语言][LeetCode][119]Pascal's Triangle II
- pascal's triangle II leetcode c++
- leetcode:119 Pascal's Triangle II-每日编程第二十五题
- LeetCode119—Pascal's Triangle II
- LeetCode 119:Pascal's Triangle II
- LeetCode 119: Pascal's Triangle II
- LeetCode---(119)Pascal's Triangle II
- 【Leetcode】119. Pascal's Triangle II
- leetcode[119]:Pascal's Triangle II
- 【leetcode】119. Pascal's Triangle II
- [leetCode 118 & 119] Pascal's Triangle I && II (杨辉三角问题)
- LeetCode 119 Pascal's Triangle II
- Leetcode 119. Pascal's Triangle II
- LeetCode 118, 119. Pascal's Triangle i, ii
- 119. Pascal's Triangle II LeetCode