08. Pascal's Triangle
Last updated
Was this helpful?
Last updated
Was this helpful?
The problem can be found at the following link:
Initialize a 2D vector ans
with n
rows. This vector will store the rows of Pascal's Triangle.
Create a vector one
containing a single element with the value 1, representing the first row of Pascal's Triangle.
Start a loop from i = 1
to n - 1
(inclusive) to generate the remaining rows of Pascal's Triangle.
Inside the loop: a. Create an empty vector row
to represent the current row being generated.
b. Start another loop from j = 0
to i
(inclusive) to calculate each element of the current row.
c. In the inner loop:
If j
is 0, it means we are at the beginning of the row. Add the element at the same position from the previous row (ans[i-1][j]
) to row
.
If j
is equal to i
, it means we are at the end of the row. Add the element at the same position from the previous row (ans[i-1][i-j]
) to row
.
For all other values of j
, calculate the element by summing the elements from the previous row at positions j-1
and j
. Add this value (x
) to row
.
d. After completing the inner loop, assign the row
vector as the current row of ans
(at index i
).
After the loop is finished, ans
will contain Pascal's Triangle up to the n
th row. Return ans
.
Time Complexity: O(n)
Auxiliary Space Complexity: O(1)
For discussions, questions, or doubts related to this solution, please visit our . We welcome your input and aim to foster a collaborative learning environment.
If you find this solution helpful, consider supporting us by giving a ⭐ star
to the repository.