[Leetcode][JAVA] Pascal's Triangle I, II
2015-01-08 03:53
369 查看
Pascal'sTriangle:
GivennumRows,generatethefirstnumRowsofPascal'striangle.
Forexample,givennumRows=5,
Return
Forexample,givenk=3,
Return
Note:
CouldyouoptimizeyouralgorithmtouseonlyO(k)extraspace?
与第一题几乎一样,只不过不需要返回整个三角而只需要返回最后一层。全程只需要维护生成层和它上一层两个ArrayList即可。
GivennumRows,generatethefirstnumRowsofPascal'striangle.
Forexample,givennumRows=5,
Return
[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 已知行数生成帕斯卡三角。实际上只要有第i层,那么就能生成第i+1层。每次新生成的层加入最终集合中即可。
publicList<List<Integer>>generate(intnumRows){ List<List<Integer>>re=newArrayList<List<Integer>>(); for(inti=0;i<numRows;i++){ List<Integer>temp=newArrayList<Integer>(); for(intj=0;j<=i;j++){ if(j==0||j==i) temp.add(1); else temp.add(re.get(i-1).get(j-1)+re.get(i-1).get(j)); } re.add(temp); } returnre; }
Pascal'sTriangleII:
Givenanindexk,returnthekthrowofthePascal'striangle.Forexample,givenk=3,
Return
[1,3,3,1].
Note:
CouldyouoptimizeyouralgorithmtouseonlyO(k)extraspace?
与第一题几乎一样,只不过不需要返回整个三角而只需要返回最后一层。全程只需要维护生成层和它上一层两个ArrayList即可。
publicList<Integer>getRow(introwIndex){
List<Integer>re=newArrayList<Integer>();
for(inti=0;i<=rowIndex;i++){
List<Integer>temp=newArrayList<Integer>();
for(intj=0;j<=i;j++){
if(j==0||j==i)
temp.add(1);
else
temp.add(re.get(j-1)+re.get(j));
}
re=temp;
}
returnre;
}
相关文章推荐
- Pascal's Triangle II Leetcode java
- 学会从后往前遍历,例 [LeetCode] Pascal's Triangle II,剑指Offer 题4
- 【leetcode】Pascal's Triangle II(Java)
- Pascal's Triangle 2(leetcode java)
- [LeetCode] Pascal's Triangle II
- Leetcode 119 Pascal's Triangle II 数论递推
- LeetCode——Pascal's Triangle II
- 【LeetCode】Pascal's Triangle II (杨辉三角)
- LeetCode#119 Pascal's Triangle II
- LeetCode(33)-Pascal's Triangle II
- [LeetCode] Pascal's Triangle II 杨辉三角之二
- 【leetcode】Pascal's Triangle I&II
- [LeetCode 119] - 杨辉三角形II(Pascal's Triangle II)
- leetcode:Pascal's Triangle II 【Java】
- 【leetcode刷题笔记】Pascal's Triangle II
- 【leetcode】Pascal's Triangle II
- leetcode_119——Pascal's Triangle II (简单题,简单的递归)
- (leetcode)Pascal's Triangle II
- Leetcode:119. Pascal's Triangle II(JAVA)
- LeetCode:Pascal's Triangle I II