Climbing Stairs in Java: Explanation & Practice
Count distinct ways to climb n stairs (1 or 2 steps)
Problem summary
You can climb 1 or 2 stairs at a time. Given n stairs, count how many distinct ways you can reach the top. Classic DP problem!
Starter code
public class Main {
public static void main(String[] args) {
int n = 5;
// ways(n) = ways(n-1) + ways(n-2)
// From step n-1: take 1 step
// From step n-2: take 2 steps
// Print: Ways: 8
}
}Expected output and test cases
- 5 stairs → 8 ways
Ways: 8
- 3 stairs → 3 ways
Ways: 3
- 10 stairs → 89 ways
Ways: 89
Hints
- This is Fibonacci in disguise!
- To reach step n, you came from n-1 (1 step) or n-2 (2 steps)
- So ways[n] = ways[n-1] + ways[n-2]
- Base cases: ways[1]=1, ways[2]=2
Related Data Structures & Algorithms exercises
Practice all Data Structures & Algorithms exercises · Run this idea in the Java compiler