持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第20天,点击查看活动详情
学习过程中将笔记整理跟大家分享,希望对大家也有所帮助,共同成长进步💪~
如果大家喜欢,可以点赞或留言💕~~~~,谢谢大家⭐️⭐️⭐️~~~
题目:杨辉三角
给定一个非负整数 numRows, 生成「杨辉三角」的前 numRows 行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。
示例 1:
- 输入: numRows = 5
- 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
示例2:
- 输入: numRows = 1
- 输出: [[1]]
提示:
1 <= numRows <= 30
解题代码和思路如下:
/**
* @param {number} numRows
* @return {number[][]}
*/
//第一种方法
// var generate = function (numRows) {
// let arr = [[1]];//第一个固定是1
// for (let i = 1; i < numRows; i++) {
// arr[i] = [];
// arr[i][0] = 1;//每一行左右两边也都是1
// arr[i][i] = 1;
// for (let x = 1; x < i; x++) {
// arr[i][x] = arr[i - 1][x - 1] + arr[i - 1][x];
// }
// }
// return arr;
// };
//第二种方法
var generate = function(numRows) {
let number = [];
for(let i = 0;i < numRows;i++){
let arr = [];
arr[0] = 1;
arr[i] = 1;
for(let j = 1;j< i ;j++){
arr[j] = number[i-1][j-1] + number[i-1][j];
}
number.push(arr);
}
return number;
};
点击前往 LeetCode 练习
感谢大家阅读⭐️⭐️⭐️,如果喜欢,可以点赞或留言哟💕💕💕
后续会持续更新记录😊~~~
专栏推荐
推荐一下自己的专栏,欢迎大家收藏关注😊~