Сложность: easy
Дано целое число numRows. Верните первые numRows строк треугольника Паскаля.
В треугольнике Паскаля каждое число является суммой двух чисел, непосредственно расположенных над ним, как показано:
Пример:
Input: numRows = 5
Output: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
👨💻 Алгоритм:
1⃣Сначала мы создаём общий список треугольника, который будет хранить каждую строку как подсписок.
2⃣Затем мы проверяем особый случай, когда число строк равно 0, так как в противном случае мы бы вернули [1].
3⃣Поскольку numRows всегда больше 0, мы можем инициализировать треугольник первой строкой [1] и продолжить заполнять строки следующим образом:
😎 Решение:
var generate = function (numRows) {
const triangle = [];
triangle.push([]);
triangle[0].push(1);
for (let rowNum = 1; rowNum < numRows; rowNum++) {
const row = [];
const prevRow = triangle[rowNum - 1];
row.push(1);
for (let j = 1; j < rowNum; j++) {
row.push(prevRow[j - 1] + prevRow[j]);
}
row.push(1);
triangle.push(row);
}
return triangle;
};Ставь 👍 и забирай 📚 Базу знаний
