Pascal's Triangle II
生活随笔
收集整理的這篇文章主要介紹了
Pascal's Triangle II
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
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?
?
Hide Tags ?Array?
方法一:保存所有二位數(shù)組
class Solution {public:vector<int> getRow(int rowIdx) {vector<int> curLine;vector<vector<int> > res;curLine.push_back(1);res.push_back(curLine);if( rowIdx == 0)return curLine;for(int i = 1; i <= rowIdx; i++){curLine.clear();for(int j = 0; j < res[i-1].size(); j++){if(j == 0)curLine.push_back(1);elsecurLine.push_back(res[i-1][j-1] + res[i-1][j]);}curLine.push_back(1);res.push_back(curLine);}return res[rowIdx];} };?
方法二:cur只和上一行有關(guān),用滾動數(shù)組即可實現(xiàn)空間復(fù)雜度O(n)
class Solution {public:vector<int> getRow(int rowIdx) {vector<int> preLine;vector<int> curLine;curLine.push_back(1);if(rowIdx == 0)return curLine;for(int i = 1; i <= rowIdx; i++){preLine = curLine;curLine.clear();for(int j = 0; j < preLine.size(); j++){if(j == 0)curLine.push_back(1);elsecurLine.push_back(preLine[j-1] + preLine[j]);}curLine.push_back(1);}return curLine;} };?
轉(zhuǎn)載于:https://www.cnblogs.com/diegodu/p/4421725.html
總結(jié)
以上是生活随笔為你收集整理的Pascal's Triangle II的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zoj 3640 概率dp
- 下一篇: 中软国际 问题一php的优缺点