[LeetCode]PASCAL Triangle系列
2013-10-29 15:47
281 查看
今天的练习题是triangle三件套:Triangle, PASCAL Triangle, PASCAL Triangle II.
PASCAL Triangle就是小学奥数中的“杨辉三角”, 存在如下关系
即第i+1行第j+1个元素为第i行第j个元素与第j+1个元素之和
PASCAL Triangle的题目要求:输出PASCAL Triangle的前numRows行
Given numRows, generate the first numRows of Pascal's triangle.
For example, given numRows = 5,
Return
根据生成规则,一个vector指向当前行,一个vector指向上一行,注意边界位置的下标不要越界
View Code
PASCAL Triangle就是小学奥数中的“杨辉三角”, 存在如下关系
triangle[i+1][j+1] = triangle[i][j]+triangle[i][j+1]
即第i+1行第j+1个元素为第i行第j个元素与第j+1个元素之和
PASCAL Triangle的题目要求:输出PASCAL Triangle的前numRows行
Given numRows, generate the first numRows of Pascal's triangle.
For example, given numRows = 5,
Return
[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ]
根据生成规则,一个vector指向当前行,一个vector指向上一行,注意边界位置的下标不要越界
class Solution { public: vector<int> getRow(int rowIndex) { // IMPORTANT: Please reset any member data you declared, as // the same Solution instance will be reused for each test case. vector<int> prev(1, 1); if(rowIndex<1) return prev; vector<int> row; for(int i=1; i<rowIndex+1; ++i) { for(int j=0; j<i+1; ++j) { int left = j>0?prev[j-1]:0; int right = j<i?prev[j]:0; row.push_back(left+right); } prev = row; row.clear(); } return prev; } };
View Code
相关文章推荐
- 汇编常用命令-修改主板生产日期
- EASYUI+MVC4+VS2010通用权限管理系统开发
- 关于防止SQL注入的问题
- win8应用隐私策略书写 方法
- int main(int argc,char* argv[])详解
- 更改iptables规则
- 过滤器与拦截器
- PorterDuff.Mode
- 运维杂记(一):当前时间与网络上的时间不一致
- Java中二维数组的长度
- POJ 3728 The merchant
- cocos2d-x中文文档和例子程序
- c# 连接各种数据库 Access、Server等
- 客户关系管理概述
- Oracle常用SQL(DDL)命令
- 动态代理实现规则的简单降级
- 【LeetCode】 Subsets Subsets II
- 十六进制颜色对照表
- Bos启动测试,服务端就绪,客户端不会启动
- java连接mongoDB