leetcode:Pascal's Triangle II 【Java】
2016-03-06 18:50
489 查看
一、问题描述
Given an index k, return the kth row of the Pascal's triangle.
For example, given k = 3,
Return
Note:
Could you optimize your algorithm to use only O(k) extra space?
二、问题分析
1、ArrayList数组默认创建后为空列表,执行get和set操作时会产生越界异常
2、利用第K行分配的空间,把Pascal三角的第0 ~ K - 1行都创建出来,重复利用第K行分配的空间并存放在其中;再利用上下行之间的计算关系,计算出第K行所有元素。
三、算法代码
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、ArrayList数组默认创建后为空列表,执行get和set操作时会产生越界异常
2、利用第K行分配的空间,把Pascal三角的第0 ~ K - 1行都创建出来,重复利用第K行分配的空间并存放在其中;再利用上下行之间的计算关系,计算出第K行所有元素。
三、算法代码
public class Solution { public List<Integer> getRow(int rowIndex) { List<Integer> result = new ArrayList<Integer>(rowIndex + 1); //初始化result数组,因为ArrayList数组默认创建后为空列表,执行get和set操作时会产生越界异常 for(int i = 0; i <= rowIndex; i++){ result.add(1); } for(int i = 1; i <= rowIndex; i++){ for(int j = i; j > 0; j--){ if(j == i){ result.set(j, result.get(j - 1)); }else{ result.set(j, result.get(j - 1) + result.get(j)); } } } return result; } }
相关文章推荐
- java并发编程(3):ThreadLocal
- 20145308刘昊阳 《Java程序设计》第1周学习总结
- Spring MVC 环境搭建(二)
- java作业
- 20145305解佳玲 《Java程序设计》第1周学习总结
- SPRING IN ACTION 第4版笔记-第八章Advanced Spring MVC-003-Pizza例子的基本流程
- JAVA----JDK windows环境搭建
- java千万级别数据生成文件思路和优化
- Spring MVC 中 HandlerInterceptorAdapter的使用
- java第一周作业
- leetcode:Pascal's Triangle 【Java】
- springmvc4+hibernate4分页查询功能
- Java:按值传递还是按引用传递详细解说
- 20145314郑凯杰 《Java程序设计》第1周学习总结
- java学习笔记
- 20145302张薇 Java第一周学习总结
- eclipse 双击无法启动 没反应(已解决)
- Spring AOP 实现原理
- Struts2的标签库
- Spring项目无法启动