Pascal's Triangle II Lab
In this lab, you will be working on a JavaScript function that returns a specific row of Pascal's triangle based on the provided index. Your function will implement a space-optimized algorithm that uses only O(rowIndex)
extra space.
Pascal's triangle is a triangular array of binomial coefficients. Each number is the sum of the two numbers directly above it, as shown below:
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
Function Signature
Your function will have the following signature:
/** * @param {number} rowIndex * @return {number[]} */ const getRow = (rowIndex) => { };
Your function should return the specified row (0-indexed) of Pascal's triangle as an array of numbers.
Examples
Here are some examples of how your function should behave:
Example 1:
Input: rowIndex = 3
Output: [1, 3, 3, 1]
Example 2:
Input: rowIndex = 0
Output: [1]
Example 3:
Input: rowIndex = 1
Output: [1, 1]
Example 4:
Input: rowIndex = 4
Output: [1, 4, 6, 4, 1]
Constraints:
0 <= rowIndex <= 33
Challenges
- Write the
getRow
function to return the specified row of Pascal's triangle. - Optimize your algorithm to use only
O(rowIndex)
extra space.