【Pascal's Triangle II 】cpp
生活随笔
收集整理的這篇文章主要介紹了
【Pascal's Triangle II 】cpp
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:
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) {vector<int> ret(rowIndex+1,1);for ( int i=0; i<=rowIndex; ++i ){for (int j=i-1; j>0; --j){ret[j] = ret[j] + ret[j-1];}}return ret;} };tips:
采用滾動數組技巧,可以縮減空間復雜度。
==========================================
第二次過這道題,題意一開始沒有看清,改了一次AC了。
class Solution { public:vector<int> getRow(int rowIndex) {vector<int> ret(rowIndex<1?1:rowIndex+1,0);ret[0] = 1;for ( int i=1; i<=rowIndex; ++i ){for ( int j=i; j>0; --j ){ret[j] = ret[j-1] + ret[j];}}return ret;} };?
轉載于:https://www.cnblogs.com/xbf9xbf/p/4562270.html
總結
以上是生活随笔為你收集整理的【Pascal's Triangle II 】cpp的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MATLAB生成FPGA COE文件之X
- 下一篇: AD9516/AD9517时钟芯片寄存器