Leetcode之Pascal's Triangle 问题
来源:互联网 发布:有没有唱歌软件 编辑:程序博客网 时间:2024/06/05 17:43
问题描述:
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]
]
问题来源:Pascal's Triangle (详细地址:https://leetcode.com/problems/pascals-triangle/description/)
思路分析:根据提示,我们可以看见这只是一个List里面嵌套了一个List,而且你会发现下面的是怎么延展开的:
1.首先每个list里面的第一个元素和最后一个元素都是1;
2.然后中间的元素都是由头上的两个元素加起来的。
所以,在这我们用i来表示第几个list,然后j来表示这个list里面的第j个元素。另外,i和j都是从0开始的,把上面的两个结论翻译过来就是:
1.if(j == 0 || j == i)
list.add(1);//这里采用了自动封箱操作
2.list.add(j, list.get(j - 1) + list.get(j));//代码中采用的是result.get(i - 1).get(j - 1).......是因为我们需要通过result取出里面的每一个list
不过最后我还给出了另外一种解法,不用通过get.get这种调用了,因为这样容易产生空指针异常,说回来还是第一种更好理解一些,更符合人类的惯性思维,不过第二种理解了也就不难了,毕竟不是啥高深的东西。
代码:
第一种添加的方法:
第二种添加的方法:
- Leetcode之Pascal's Triangle 问题
- Leetcode之Pascal's Triangle II 问题
- leetcode之Pascal's Triangle
- LeetCode 之 Pascal's Triangle
- LeetCode之Pascal's Triangle
- LeetCode之Pascal's Triangle
- leetcode 之 Pascal's Triangle
- LeetCode之Pascal's Triangle
- LeetCode 之 Pascal's Triangle
- leetcode之Pascal's Triangle
- leetcode之Pascal's Triangle
- LeetCode 之 Pascal's Triangle
- leetcode之 Pascal's Triangle && Pascal's Triangle II
- 【Leetcode】Pascal's Triangle (Pascal)
- leetcode之Pascal's Triangle II
- LeetCode 之 Pascal's Triangle II
- LeetCode之Pascal's Triangle II
- leetcode之Pascal's Triangle II
- 泛型的意义及使用
- Hadoop/Spark推荐系统(一)——共同好友
- Asp.Net重定向过程
- 【论文学习】3D Convolutional Neural Networks for Human Action Recognition
- 欢迎使用CSDN-markdown编辑器
- Leetcode之Pascal's Triangle 问题
- bzoj 1951(Lucas定理+中国剩余定理)
- [复习]线段树 系列操作I
- 民谣不穷!
- 广播监听网络
- Android Frameworks系列(二) 彻底弄懂startActivity
- 第一篇博客
- codevs 1222 信与信封问题 二分图 匈牙利 解题报告
- 装饰器之装饰器类