Posted: 11 Jan, 2021
You are given an integer N. Your task is to return a 2-D ArrayList containing the pascal’s triangle till the row N.
A Pascal's triangle is a triangular array constructed by summing adjacent elements in preceding rows. Pascal's triangle contains the values of the binomial coefficient. For example in the figure below.
For example, given integer N= 4 then you have to print.
1 1 1 1 2 1 1 3 3 1 Here for the third row, you will see that the second element is the summation of the above two-row elements i.e. 2=1+1, and similarly for row three 3 = 1+2 and 3 = 1+2.
Input format :
The first line of input contains an integer ‘T’ denoting the number of test cases. The first line of each test case contains a single integer N denoting the row till which you have to print the pascal’s triangle.
Output format :
For each test case, return the 2-D array/list containing the pascal’s triangle till the row N.
You do not need to print anything; it has already been taken care of. Just implement the given function.
1 <= T <= 40 1 <= N <= 50 Time Limit: 1 sec
The idea is to use recursion to get the value of the coefficients we will create a helper function CALPASCAL which will take row and entry as its input parameters and we call this function in the main function of PRINTPASCAL.
- Inside the function CALPASCAL if the row is 0 or the entry is equal to row then we will just return 1.
- Else we will return the sum of adjacent previous row value that is CALPASCAL(I-1,J-1) + CALPASCAL(I-1,J).
- Now for the main function to store the pascal’s triangle PRINTPASCAL inside this declare a 2-D arrayList TRIANGLE and run loop from row I=0 to I<N.
- Inside this loop run a loop from entry J=0 till entry J=R.
- Inside this loop calculate the answer for each entry by calling the CALPASCAL function and add it to the arraylist.
- Finally return the arraylist.