68. Pascal's Triangle II
2016-01-23 17:55
387 查看
Given an index k, return the kth row of the Pascal's triangle.
For example, given k = 3,
Return
分析:输出指定的第k行的杨辉三角上的值。(从第0行开始算起).k为负数时返回1.注意,在写代码的过程中要保存上一行的值以用于下一行的计算。还有,要注意新建list对象,以免被后面的值给覆盖。
For example, given k = 3,
Return
[1,3,3,1].
分析:输出指定的第k行的杨辉三角上的值。(从第0行开始算起).k为负数时返回1.注意,在写代码的过程中要保存上一行的值以用于下一行的计算。还有,要注意新建list对象,以免被后面的值给覆盖。
/** * 用额外的空间保存所有行上的值。 */ public List<Integer> getRow(int rowIndex) { List<List<Integer>> list = new ArrayList(); List<Integer> rowlist = null;/*表示上一行的元素*/ List<Integer> newrowlist = null;/*表示当前需要求的那一行的元素*/ if(rowIndex <=0){ newrowlist = new ArrayList(); newrowlist.add(1); list.add(newrowlist); return newrowlist; }else { int oldsize = list.size(); newrowlist = new ArrayList(); newrowlist.add(1); list.add(newrowlist); oldsize = list.size(); for(int i=oldsize;i<=rowIndex;i++){ rowlist=list.get(i-1); newrowlist = new ArrayList(); newrowlist.add(1); for(int j=1;j<i;j++){/*依次计算当前行中的元素的值*/ int num = rowlist.get(j-1)+rowlist.get(j); newrowlist.add(num); } newrowlist.add(1); list.add(newrowlist); } return newrowlist; } } /** * 用额外的空间只保存上一行和当前行。 */ public List<Integer> getRow2(int rowIndex) { List<Integer> rowlist = null;/*表示上一行的元素*/ List<Integer> newrowlist = null;/*表示当前需要求的那一行的元素*/ if(rowIndex <=0){ newrowlist = new ArrayList(); newrowlist.add(1); return newrowlist; }else { newrowlist = new ArrayList(); newrowlist.add(1); for(int i=1;i<=rowIndex;i++){ rowlist=newrowlist; newrowlist = new ArrayList(); newrowlist.add(1); for(int j=1;j<i;j++){/*依次计算当前行中的元素的值*/ int num = rowlist.get(j-1)+rowlist.get(j); newrowlist.add(num); } newrowlist.add(1); } return newrowlist; } }
相关文章推荐
- Mac下的VI bundle配置
- oKit6.0震撼发布,全面开启自定义模式
- 如果不小心把mysql的权限表删除了恢复方法
- 跨平台、高性能的媒体转发服务器实现
- 60个开发者不容错过的免费资源库
- hdu 3364(异或方程的高斯消元)
- 服务器之间建立信任关系
- 多线程实例
- I am back-电商网站开发&jQuery
- 字符编码
- HTML学习笔记——(一)HTML简介
- 【BLE】CC2541之OAD
- Protobuf Lesson 1: compile
- 如何建立自己的技术壁垒
- python fabric模块
- 通讯录实例
- hdu1128 Self Numbers
- leetCode 242. Valid Anagram
- Php发送post请求方法
- iis7.5加fck解析漏洞后台拿shell