leetcode 118. Pascal's Triangle(杨辉三角)
2017-08-20 17:20
423 查看
Given numRows, generate the first numRows of Pascal's triangle.
For example, given numRows = 5,
Return
简单题一个。
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> result=new ArrayList<List<Integer>>();
if(numRows==0){
return result;
}
List<Integer> list=new ArrayList<Integer>();
list.add(1);
result.add(list);
if(numRows==1){
return result;
}
list=new ArrayList<Integer>();
list.add(1);list.add(1);
result.add(list);
if(numRows==2){
return result;
}
for(int i=3;i<=numRows;i++){
list=new ArrayList<Integer>();
list.add(1);
List<Integer> pre=result.get(i-2);//第i-1个,就是index=i-2
for(int pointer=0;pointer<i-2;pointer++){
list.add(pre.get(pointer)+pre.get(pointer+1));
}
list.add(1);
result.add(list);
}
return result;
}大神也基本上是我这个思路。
calculate element value: K( i )( j ) = K( i-1 )( j-1 ) + K( i-1 )( j ) except for the first and last element
For example, given numRows = 5,
Return
[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ]
简单题一个。
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> result=new ArrayList<List<Integer>>();
if(numRows==0){
return result;
}
List<Integer> list=new ArrayList<Integer>();
list.add(1);
result.add(list);
if(numRows==1){
return result;
}
list=new ArrayList<Integer>();
list.add(1);list.add(1);
result.add(list);
if(numRows==2){
return result;
}
for(int i=3;i<=numRows;i++){
list=new ArrayList<Integer>();
list.add(1);
List<Integer> pre=result.get(i-2);//第i-1个,就是index=i-2
for(int pointer=0;pointer<i-2;pointer++){
list.add(pre.get(pointer)+pre.get(pointer+1));
}
list.add(1);
result.add(list);
}
return result;
}大神也基本上是我这个思路。
calculate element value: K( i )( j ) = K( i-1 )( j-1 ) + K( i-1 )( j ) except for the first and last element
public class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> triangle = new ArrayList<List<Integer>>(); if (numRows <=0){ return triangle; } for (int i=0; i<numRows; i++){ List<Integer> row = new ArrayList<Integer>(); for (int j=0; j<i+1; j++){ if (j==0 || j==i){ row.add(1); } else { row.add(triangle.get(i-1).get(j-1)+triangle.get(i-1).get(j)); } } triangle.add(row); } return triangle; } }
相关文章推荐
- Leetcode 118. Pascal's Triangle 杨辉三角 解题报告
- LeetCode 118. Pascal's Triangle
- Leetcode-118. Pascal's Triangle
- [leetcode, python] Pascal's Triangle II 杨辉三角
- LeetCode 118. Pascal's Triangle(帕斯卡三角)
- leetcode 118. Pascal's Triangle c++
- Leetcode#119. Pascal's Triangle II(杨辉三角II)
- leetcode题解-118. Pascal's Triangle && 119. Pascal's Triangle II
- [LeetCode]118. Pascal's Triangle
- [LeetCode]118. Pascal's Triangle
- [leetcode, python] Pascal's Triangle II 杨辉三角
- (LeetCode)Pascal's Triangle --- 杨辉三角
- LeetCode-Array-118. Pascal's Triangle
- LeetCode-118:Pascal's Triangle (生成指定行数的杨辉三角)
- [leetcode, python] Pascal's Triangle II 杨辉三角
- LeetCode 118. Pascal’s Triangle
- LeetCode | Pascal's Triangle(杨辉三角)
- LeetCode Pascal's Triangle 打印杨辉三角
- Leetcode 118. Pascal's Triangle
- [leetcode, python] Pascal's Triangle II 杨辉三角