Pascal's Triangle II

Given an integer rowIndex, return the rowIndexth a row of Pascal's triangle.

Example:

Input:  n=3
Output: 1 3 3 1

Approach

Java

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class PrintPascalTriangleII {
    public static void main(String[] args) {
        int n = 5;
        List<Integerpascal = pascalTriangle(n);
        System.out.println(Arrays.asList(pascal));
    }

    private static List<IntegerpascalTriangle(int n) {
        List<List<Integer>> v = new ArrayList<List<Integer>>();
        for (int line = 0; line <= n; line++) {
            List<Integerx = new ArrayList<Integer>();
            for (int i = 0; i <= line; i++) {
                if (line == i || i == 0)
                    x.add(1);
                else
                    x.add(v.get(line - 1).get(i - 1) + v.get(line - 1).get(i));
            }
            v.add(x);
        }
        List<Integerres = new ArrayList<Integer>();

        // find the nth row of the pascal triangle
        for (int i = 0; i < v.get(n).size(); i++)
            res.add(v.get(n).get(i));
        return res;
    }
}

C++

#include <bits/stdc++.h>
using namespace std;


//function to get the nth row of 
//pascal triangle 
vector<intgetRow(int rowIndex)
{
    vector<vector<int>> v;
    for(int line=0;line<=rowIndex;line++)
         {
            vector<intx;
           for(int i=0;i<=line;i++)
            {
              if(line==i||i==0)
                  x.push_back(1);
               else
                  x.push_back(v[line-1][i-1]+v[line-1][i]);
            }
            v.push_back(x);
         }
    vector<intres;

    //find the nth row of the pascal triangle
    for(int i=0;i<v[rowIndex].size();i++)
        res.push_back(v[rowIndex][i]);
    return res;
}
int main()
{
    int n=3;
    vector<introw=getRow(n);
    for(int i=0;i<row.size();i++)
       cout<<row[i]<<" ";
    return 0;
}


No comments:

Post a Comment