文章目录
题目
Java 实现
leetcode-题解-Java
思路:找规律,每行的首尾都是 1
,其他 arr[i][j] = arr[i-1][j-1]+arr[i-1][j]
class Solution {
public List<List<Integer>> generate(int numRows) {
/**
* [
* [1],
* [1,1],
* [1,2,1],
* [1,3,3,1],
* [1,4,6,4,1]
* ]
*/
List<List<Integer>> list = new ArrayList<>();
if(numRows == 0){
return list;
}
for(int i=0;i<numRows;i++){
List<Integer> sonList = new ArrayList<Integer>();
sonList.add(1);
if(i>=2){
List<Integer> l = list.get(i-1);
for(int j=0;j<l.size()-1;j++){
sonList.add(l.get(j)+l.get(j+1));
}
}
if(i>=1){
sonList.add(1);
}
list.add(sonList);
}
return list;
}
}
JavaScript
/**
* @param {number} numRows
* @return {number[][]}
*/
var generate = function (numRows) {
var arr = []
if (numRows == 0) {
return arr
}
for (let i = 0; i < numRows; i++) {
let sonArr = [1]
if (i >= 2) {
for (let j = 0; j < arr[i - 1].length - 1; j++) {
sonArr[sonArr.length] = arr[i - 1][j] + arr[i - 1][j + 1]
}
}
if (i >= 1) {
sonArr[sonArr.length] = 1
}
arr[arr.length] = sonArr
}
return arr;
};
一样的思路
关注我,带你一起写bug
warning :版权所有,转载请注明
有问题的小伙伴请在下方留言,喜欢就点个赞吧