LeetCode Pascal's Triangle II
2016-02-29 19:17
302 查看
LeetCode解题之Pascal’s Triangle II
原题
用O(k)的空间得到杨辉三角第k行的数值。注意点:
从0开始计算行数,即第0行为[1]
例子:
输入: k = 3
输出: [1,3,3,1]
[code][ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ]
解题思路
现在要考虑的是在 Pascal’s Triangle 的基础上节约空间,我们可以知道第k行需要(k+1)的空间,且下一行占用的长度都比上一行长,所以在计算下一行的值时适合从后往前计算。AC源码
[code]class Solution(object): def getRow(self, rowIndex): """ :type rowIndex: int :rtype: List[int] """ result = [1] * (rowIndex + 1) for i in range(2, rowIndex + 1): for j in range(1, i): result[i - j] += result[i - j - 1] return result if __name__ == "__main__": assert Solution().getRow(3) == [1, 3, 3, 1]
欢迎查看我的Github (https://github.com/gavinfish/LeetCode-Python) 来获得相关源码。
相关文章推荐
- 【转】看见成长的自己:斯坦福大学心理学教授徳韦克访谈
- 使用OS X系统远程连接Windows Server服务器
- iOS开发--网络编程基础
- PHP预定义接口之 ArrayAccess
- android File文件保存和读取
- openrc.sh for openstack cli
- ARC基本知识点
- HDU 1828 Picture (线段树扫描线求周长并 区间合并)
- Gradle笔记
- 安装和破解完美支持Mac Retina的 Photoshop CS6 Extended 13.0.6
- 28.广搜:被围住的面积
- wamp 登录界面制作连接数据库
- 28.广搜:被围住的面积
- 28.广搜:被围住的面积
- 28.广搜:被围住的面积
- 28.广搜:被围住的面积
- 28.广搜:被围住的面积
- 总结
- TCP建立连接和断开连接图解
- 分层思想之我见