Given an index k, return the kth row of the Pascal's triangle.
For example, given k = 3,
Return [1,3,3,1].
Note:
Could you optimize your algorithm to use only O(k) extra space?
class Solution {
public:
vector<int> getRow(int rowIndex) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
vector<int> answer;
answer.push_back(1);
double n = 1, m = 1;
for (int i = 1; i <= rowIndex; i++) {
n *= (rowIndex - i + 1);
m *= i;
answer.push_back((int) (n / m + 0.5));
}
return answer;
}
};
本文介绍了一个高效的算法来获取帕斯卡三角形的第K行元素,该算法仅使用O(K)的额外空间,通过迭代计算每一项值,并在过程中优化了乘除运算。
117

被折叠的 条评论
为什么被折叠?



