### Problem Statement

Given an index

*k*, return the

*k*th row of the Pascal's triangle.

For example, given

Return

*k*= 3,Return

`[1,3,3,1]`

.
Note:

Could you optimize your algorithm to use only

Could you optimize your algorithm to use only

*O*(*k*) extra space?
Pascal’s triangle is a triangular array of the binomial coefficients. Write a function that takes an integer value n as input and prints first n lines of the Pascal’s triangle. Following are the first 6 rows of Pascal’s Triangle.

ex of pascal triangle

1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1

### Solution

- We need arrarlist
- This arraylist
**row**is used to add initial elements of the array

**row.add(0, 1)**

Note for the first 2 iterations elements would not be altered before adding to allrows

**{1},{1,1}**

- J loop iteration would not start till Row Size is greater than one. It is responsible to altering the arrraylist elements so to generate pascal triangle

**1,2,1**}

- The contents of the arraylist would be modified based on the size of the array.

public class PascalTriangle2 { public static List<Integer> get(int rowIndex){ //Declare a new List List<Integer> list=new ArrayList<Integer>(); if(rowIndex <0) { return list; } //Creation of Pascal triangle list for(int i=0;i< rowIndex+1;i++) { list.add(0,1); for(int j=1;j<list.size()-1;j++) { list.set(j, list.get(j)+list.get(j+1)); } } return list; }

## No comments:

## Post a Comment