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

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

 

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:迭代插入(未通过)

[              [               [                      [     [1],           [1],            [1],                   [1],    [1],           [1,1],          [1,1],                 [1,1]   [1],   ==>     [1,2],  ==>     [1,2,1], ==>...==>     [1,2,1],  [1],           [1,3],          [1,3,3],               [1,3,3,1], [1]            [1,4]           [1,4,6],               [1,4,6,4,1],]              [               [                      [

可以推导出每一列的递推公式:

第一列从第一行开始:1                                                                            

第二列从第二行开始:j / 1,  j∈[1,n)

第三列从第三行开始:[j*(j-1)] / [1*2], j∈[2,n)

...

第M列从第M行开始:[j*(j-1)*...*(j-m+2)] / [1*2*...*m-1], j∈[m,n)

但是程序未能实现,在输入numRows=8时,出现Runtime Error错误。

 

【★】解题思路2:

用f(n)(m)表示第n行第m个元素,n从1开始,1≤m≤n;

则f()(1)=f()(n)=1, f(n)(m)=f(n-1)(m-1) + f(n-1)(m);

核心代码只有四步:

①新建符合的空间;

②将首尾置为1;

③遍历除首尾外的元素空间,利用公式填充;

④将填充好的列表放入结果队列里;

 

1 class Solution { 2 public: 3     vector
> generate(int numRows) { 4 vector
> rowslst; 5 6 if (numRows == 0) 7 return rowslst; 8 9 for (int i=0; i
row(i+1); 11 row[0] = row[i] = 1;12 13 for(int j=1; j

 

附录:

杨辉三角与计算机

转载于:https://www.cnblogs.com/huxiao-tee/p/4133045.html

你可能感兴趣的文章
简单的数据库操作
查看>>
帧的最小长度 CSMA/CD
查看>>
树状数组及其他特别简单的扩展
查看>>
普通求素数和线性筛素数
查看>>
PHP截取中英文混合字符
查看>>
【洛谷P1816 忠诚】线段树
查看>>
电子眼抓拍大解密
查看>>
tomcat7的数据库连接池tomcatjdbc的25个优势
查看>>
Html 小插件5 百度搜索代码2
查看>>
java.io.IOException: read failed, socket might closed or timeout, read ret: -1
查看>>
java 常用命令
查看>>
卷积中的参数
查看>>
51nod1076 (边双连通)
查看>>
Item 9: Avoid Conversion Operators in Your APIs(Effective C#)
查看>>
深入浅出JavaScript(2)—ECMAScript
查看>>
ViewPager的onPageChangeListener里面的一些方法参数:
查看>>
Jenkins关闭、重启,Jenkins服务的启动、停止方法。
查看>>
CF E2 - Array and Segments (Hard version) (线段树)
查看>>
Linux pipe函数
查看>>
java equals 小记
查看>>