博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Pascal's Triangle II
阅读量:6909 次
发布时间:2019-06-27

本文共 1751 字,大约阅读时间需要 5 分钟。

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
 
 

 

方法一:保存所有二位数组

class Solution {    public:        vector
getRow(int rowIdx) { vector
curLine; vector
> 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); else curLine.push_back(res[i-1][j-1] + res[i-1][j]); } curLine.push_back(1); res.push_back(curLine); } return res[rowIdx]; }};

 

方法二:cur只和上一行有关,用滚动数组即可实现空间复杂度O(n)

class Solution {    public:        vector
getRow(int rowIdx) { vector
preLine; vector
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); else curLine.push_back(preLine[j-1] + preLine[j]); } curLine.push_back(1); } return curLine; }};

 

转载地址:http://rpgdl.baihongyu.com/

你可能感兴趣的文章
HMGET key field [field ...]
查看>>
shell习题-判断函数
查看>>
Redis Modules: an introduction to the API
查看>>
centos ip使用
查看>>
influxdb查询写入操作
查看>>
linux命令——mv
查看>>
Keepalived+LVS的简单应用
查看>>
Linux自学笔记——openssh
查看>>
nginx负载均衡的理解与实际应用
查看>>
CSS Overflow属性详解
查看>>
mariadb与MYSQL的部分功能比较
查看>>
mail发送邮件QQ邮箱设置
查看>>
C++ Internals: STL之Map
查看>>
JQuery中$.ajax()方法参数详解(转载)
查看>>
汇编程序:按键松开时中断的处理
查看>>
统计一个网段以及相应区段存活和宕机的ip
查看>>
Mysql 通过全量备份和binlog恢复整体数据
查看>>
Bulma - 基于 Flexbox 的现代化的 CSS 框架
查看>>
单点登录
查看>>
jQuery Template 简单使用
查看>>