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

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

题目:

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
getRow(int rowIndex) { vector
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
getRow(int rowIndex) { vector
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

你可能感兴趣的文章
android:layout_gravity 和 android:gravity 的区别
查看>>
嵌入式C题
查看>>
maven学习笔记
查看>>
说说Java线程池
查看>>
Linux挂载命令mount用法及参数详解
查看>>
Nginx 动静分离
查看>>
MySQL如何实现数组功能
查看>>
Android第四十七期 - WheelView沉浸式菜单栏
查看>>
Spring Boot--模板从JSP到Freemarker的若干问题
查看>>
Java内存模型的探究
查看>>
CentOS6.5 从源码编译安装 GCC-4.9.1 全程实录《第二部分:编译,安装,测试》
查看>>
反查bash历史记录--用Enki学Linux系列(16)
查看>>
Stateful firewall
查看>>
Redis 常见的客户端工具
查看>>
Linux Svn 安装
查看>>
我的友情链接
查看>>
Tornado 多进程 & 异步
查看>>
Mysql left join,right join,inner join的效率比较
查看>>
SpringMVC的返回视图几种方式
查看>>
lvs+keepalived实现实时监控节点健康状态,并根据算法接管资源
查看>>