leetcode - 118. Pascal's Triangle
2018-01-30 13:52
337 查看
Problem:
Given numRows, generate the first numRows of Pascal's triangle.
For example, given numRows = 5,
Return
解释:求前NumRows行
的杨辉三角形。
Solve:
杨辉三角的规律也很明显,从第二行开始每行第一个和最后一个数都是1,且依次根据上一行每两个相邻的数字相得出下一行的数字。
如第3行是[1,2,1]。第四行就是先补两个1得:[1,1],再根据第三行两两求和
,3,3,添加到中间得:[1,3,3,1]。
主要注意的地方在于第0,1.行这两个特殊的情况。
(时间复杂度O(n),AC-1ms)public List<List<Integer>> generate(int numRows) {
List<List<Integer>> lists=new ArrayList<>();
List<Integer> list1=new ArrayList<>();
if(numRows==0){
return lists;
}
list1.add(1);//numsRows==1 的情况
lists.add(list1);
for(int i=2;i<=numRows;i++){
List<Integer> Templist=new ArrayList<>();//用于保存该行
Templist.add(1);
List<Integer> top=lists.get(i-2);//前一行的列表
for(i
4000
nt start=0,end=1;end<top.size();start++,end++){
Templist.add(top.get(start)+top.get(end));
}
Templist.add(1);
lists.add(Templist);
}
return lists;
}后记:这题用递归做也可以,懒癌不想做
就。。
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] ]
解释:求前NumRows行
的杨辉三角形。
Solve:
杨辉三角的规律也很明显,从第二行开始每行第一个和最后一个数都是1,且依次根据上一行每两个相邻的数字相得出下一行的数字。
如第3行是[1,2,1]。第四行就是先补两个1得:[1,1],再根据第三行两两求和
,3,3,添加到中间得:[1,3,3,1]。
主要注意的地方在于第0,1.行这两个特殊的情况。
(时间复杂度O(n),AC-1ms)public List<List<Integer>> generate(int numRows) {
List<List<Integer>> lists=new ArrayList<>();
List<Integer> list1=new ArrayList<>();
if(numRows==0){
return lists;
}
list1.add(1);//numsRows==1 的情况
lists.add(list1);
for(int i=2;i<=numRows;i++){
List<Integer> Templist=new ArrayList<>();//用于保存该行
Templist.add(1);
List<Integer> top=lists.get(i-2);//前一行的列表
for(i
4000
nt start=0,end=1;end<top.size();start++,end++){
Templist.add(top.get(start)+top.get(end));
}
Templist.add(1);
lists.add(Templist);
}
return lists;
}后记:这题用递归做也可以,懒癌不想做
就。。
相关文章推荐
- 118. Pascal's Triangle Leetcode Python
- LeetCode 118 Pascal's Triangle
- 杨辉三角(Pascal's Triangle)- LeetCode118-119
- LeetCode 118 :Pascal's Triangle
- leetcode118. Pascal's Triangle
- The Solution to Leetcode 118 Pascal's Triangle
- leetcode118 and 119 Pascal's Triangle
- LeetCode(118) Pascal's Triangle (Java)
- Leetcode 118 Pascal's Triangle
- leetcode || 118、Pascal's Triangle
- LeetCode - 118/119 - Pascal's Triangle
- [leetcode] 118. Pascal's Triangle
- Leetcode:118. Pascal's Triangle(JAVA)
- 【leetcode c++】118 Pascal's Triangle
- Leetcode 118 Pascal's Triangle
- LeetCode: Pascal's Triangle [118]
- 【一天一道LeetCode】#118. Pascal's Triangle
- LeetCode 118: Pascal's Triangle
- [leetCode]118_Pascal's Triangle
- leetcode118~Pascal's Triangle