LeetCode-探索-初级算法-其他-4. 帕斯卡三角形(个人做题记录,不是习题讲解)
LeetCode探索-初级算法:https://leetcode-cn.com/explore/interview/card/top-interview-questions-easy/
- 帕斯卡三角形
语言:java
思路:杨辉三角,就下一层的等于上一层的相加.
代码(1ms):
class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> res = new ArrayList(); for(int i = 0; i < numRows; ++i){ List<Integer> mem = new ArrayList(); res.add(mem); mem.add(1); if(i > 1){ for(int j = 1; j < res.get(i-1).size(); ++j){ mem.add(res.get(i-1).get(j) + res.get(i-1).get(j-1)); } } if(i > 0) mem.add(1); } return res; } }参考代码(0ms):基本是一样的
class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> list = new ArrayList<List<Integer>>(); int [][] res = new int[numRows][numRows]; for(int i=0;i<numRows;i++){ List<Integer> rowList = new ArrayList<Integer>(); for(int j=0;j<=i;j++){ if(j==0||j==i){ res[i][j]=1; }else{ res[i][j]=res[i-1][j-1]+res[i-1][j]; } rowList.add(res[i][j]); } list.add(rowList); } return list; } }
版权声明:本文为Ashiamd原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。