08. Pascal's Triangle
The problem can be found at the following link: Question Link
My Approach
Initialize a 2D vector
ans
withn
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
ton - 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
toi
(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]
) torow
.If
j
is equal toi
, 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]
) torow
.For all other values of
j
, calculate the element by summing the elements from the previous row at positionsj-1
andj
. Add this value (x
) torow
.
d. After completing the inner loop, assign the
row
vector as the current row ofans
(at indexi
).After the loop is finished,
ans
will contain Pascal's Triangle up to then
th row. Returnans
.
Time and Auxiliary Space Complexity
Time Complexity:
O(n)
Auxiliary Space Complexity:
O(1)
Code (C++)
Contribution and Support
For discussions, questions, or doubts related to this solution, please visit our discussion section. 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 rishabhv12/Daily-Leetcode-Solution repository.
Last updated