问题描述:

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

问题分析:

第n行的数据是在第n-1行的基础上计算出来的。是一个迭代的过程

解决方法:

//生成杨辉三角的前n行
public static List<List<Integer>> generate(int numRows) {
List<List<Integer>> list = new ArrayList<List<Integer>>(); //定义list
if(numRows <= 0) return list;
List<Integer> row = new ArrayList<Integer>(); //第一行
row.add(1);
list.add(row);
for(int i = 2; i <= numRows; i++){ //生成后面的n-1行数据
List<Integer> l = new ArrayList<Integer>(); //存储第i行数据
l.add(1);
row = new ArrayList<Integer>(list.get(list.size() - 1)) ; //获得上一行数据
for(int j = 0; j < row.size() - 1; j++){
int e = row.get(j) + row.get(j + 1);
l.add(e);
} l.add(1); list.add(l);
}
return list;
}

最新文章

  1. Java设计模式之行为型模式
  2. MessageReceiver
  3. 20个有用的jq弹窗
  4. Python UnicodeDecodeError
  5. HDU 3998 Sequence(经典问题,最长上升子序列)
  6. docker summary
  7. Python学习教程(learning Python)--1.4 Python数据处理基础
  8. 命令行中使用adb安装apk
  9. get方法与post方法的使用
  10. Cookie中的三个容器request,session,application的设置和获取
  11. (七)Struts2 验证框架
  12. RSA算法python实现
  13. Android应用程序插件化研究之AssertManager
  14. UML总结复习指南
  15. python_11_字符编码
  16. Java_Object
  17. python小程序--Three(三级菜单)
  18. Confluence 6 启用主题评论
  19. WPA-PSK无线网络密码破解原理
  20. ACM知识点总结

热门文章

  1. bzoj1497 [NOI2006]最大获利 最大权闭合子图
  2. SpringBoot 超时设置
  3. 【做题】agc003E - Sequential operations on Sequence——经典结论
  4. ssm项目部署到服务器过程
  5. P4306 [JSOI2010]连通数
  6. 精通正则表达式(第三版)—Mastering Regular Expressions,3rd Edition—读书笔记2
  7. SAP字段与表的对应关系
  8. 前端分页插件bootstrapPaginator的使用
  9. 屏幕尺寸,分辨率,像素,PPI之间到底什么关系?
  10. Android开发代码规范总结