Skip to main content

Climb Stairs With Minimum Moves

1. You are given a number n, representing the number of stairs in a staircase.

2. You are on the 0th step and are required to climb to the top.

3. You are given n numbers, where ith element's value represents - till how far from the step you 

     could jump to in a single move.  You can of-course fewer number of steps in the move.

4. You are required to print the number of minimum moves in which you can reach the top of 

     staircase.

Note -> If there is no path through the staircase print null.

Input Format

A number n

.. n more elements

Output Format

A number representing the number of ways to climb the stairs from 0 to top.


Constraints

0 <= n <= 20

0 <= n1, n2, .. <= 20

Sample Input

10

3

3

0

2

1

2

4

2

0

0

Sample Output

4


Solution:

import java.io.*;

import java.util.*;


public class Main {


    public static void main(String[] args) throws Exception {

        // write your code here

        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();

        int[] A = new int[n];

        for(int i=0;i<n;i++)

            A[i] = sc.nextInt();

        System.out.println(minClimb(n,A));

    }


    public static int minClimb(int n,int[] A){

        if(n <= 0) return 0;

        Integer[] arr = new Integer[n+1];

        arr[n] = 0;

        for(int i=n-1;i>=0;i--){

            if(A[i] == 0) continue;

            int min = 25;

            for(int j=A[i];j>0;j--){

                if((i+j>n) || (arr[i+j] == null)) continue;

                min = Math.min(min,arr[i+j]);

                

            }

            if(min != 25)

                arr[i] = min + 1;

        }

        return arr[0];

    }


}

Comments

Must Read:

Software Engineering Concepts Configuration Management And Version Control Post-Quiz

 Software Engineering Concepts       Configuration Management And Version Control            Post-Quiz

Algorithm Analysis and Design Concepts Data Structure and Algorithms Pre-Quiz

Algorithm Analysis and Design Concepts       Data Structure and Algorithms            Pre-Quiz  

Software Engineering Concepts Introduction to Agile Technologies Introduction to Agile Technologies | Quiz 2

Software Engineering Concepts        Introduction to Agile Technologies             Introduction to Agile Technologies | Quiz 2

RDBMS Data Definition Language | Create Sales_info table

  Write a query to create Sales_info with constraints mentioned. Refer the below schema  Result Description Summary of tests +------------------------------+ | 3 tests run / 3 test passed | +------------------------------+

Software Engineering Concepts Hands-On

  Software Engineering Concepts  Hands-On

RDBMS Data Definition Language | Alter -Modify the field type

Write a query to change the field type weight varchar(20) in Mobile_specification table to number(10). Result Description Summary of tests +------------------------------+ | 3 tests run / 3 test passed | +------------------------------+

RDBMS Data Definition Language | Alter - Add CHECK constraint to Mobile_Master

RDBMS  Data Definition Language  Alter - Add CHECK constraint to Mobile_Master Refer the following schema and add a constraint CHK_WARRANTY in Mobile_Master table to ensure that the warranty in years is greater than zero. Evaluation Result: Result Description Summary of tests +------------------------------+ | 3 tests run / 3 test passed | +------------------------------+

RDBMS Data Definition Language | Create Buses table

 efer the below schema and create the buses table. Column Name Datatype Size Constraint Constraint name Bus_no Number 11 Primary key PK_BUSES Bus_name Varchar2 20   Type Varchar2 20   Total_seats Number 11   Avail_seats Number 11     Result Description Summary of tests +------------------------------+ | 3 tests run / 3 test passed | +------------------------------+

Star Pattern

  /* @ToDo     Star Pattern                  *                *   *   *            *   *   *   *   *        *   *   *   *   *   *   *    *   *   *   *   *   *   *   *   *    *   *   *   *   *   *   *   *   *        *  ...

Subscribe to Get's Answer by Email