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

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

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]]

分析:简单的模拟从第一层开始计算即可

1 class Solution { 2 public: 3     vector
> generate(int numRows) { 4 // IMPORTANT: Please reset any member data you declared, as 5 // the same Solution instance will be reused for each test case. 6 vector
>res; 7 if(numRows == 0)return res; 8 res.push_back(vector
{
1}); 9 if(numRows == 1)return res;10 vector
tmp;11 tmp.reserve(numRows);12 for(int i = 2; i <= numRows; i++)13 {14 tmp.clear();15 tmp.push_back(1);16 for(int j = 1; j < i-1; j++)17 tmp.push_back(res[i-2][j-1]+res[i-2][j]);18 tmp.push_back(1);19 res.push_back(tmp);20 }21 return res;22 }23 };

 


 

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?

分析:每次计算只和上一层有关系,因此只需要一个数组空间就可以                                                                                                            

1 class Solution { 2 public: 3     vector
getRow(int rowIndex) { 4 // IMPORTANT: Please reset any member data you declared, as 5 // the same Solution instance will be reused for each test case. 6 vector
res(rowIndex+1,1); 7 if(rowIndex == 0)return res; 8 for(int i = 1; i <= rowIndex; i++) 9 {10 int tmp = res[0];11 for(int j = 1; j <= i-1; j++)12 {13 int kk = res[j];14 res[j] = tmp+res[j];15 tmp = kk;16 }17 }18 return res;19 }20 };

【版权声明】转载请注明出处:

转载于:https://www.cnblogs.com/TenosDoIt/p/3436562.html

你可能感兴趣的文章
利用文件来扩展swap交换分区空间
查看>>
Nginx的启动、停止、平滑重启
查看>>
设置JVM编码 如果JVM不设置编码JVM会取系统默认的编码
查看>>
adb logcat
查看>>
当Repeater数据源为对象数组时,在dataBound事件中DataItem转换类型
查看>>
CentOS7 Firewall防火墙
查看>>
android之网格布局和线性布局实现注册页面
查看>>
Caused by: java.lang.ClassNotFoundException: xx...
查看>>
32位系统安装64位windows 7
查看>>
函数指针和指针函数
查看>>
用Instant Client,不安装oracle客户端使用sqlplus连接远程数据库
查看>>
(随笔)js获取当前时间并格格式化当前日期 获取date天后的日期(2014年11月27日 16:31:49)...
查看>>
Gradle升仙路之Groovy(1)
查看>>
项目思考:需求讲解可以重复一次
查看>>
ubuntu "sudo: add-apt-repository: command not fou"
查看>>
医药吧开放平台的替代者-天狗云平台
查看>>
盲注代码
查看>>
redis监控状态connect命令
查看>>
斐波那契数列求青蛙跳台阶问题
查看>>
java控制语句
查看>>