Climbing Stairs

LeetCode Q 70 - Climbing Stairs

You are climbing a stair case. It takes n steps to reach to the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
Note: Given n will be a positive integer.

Example 1:
Input: 2 ; Output: 2
Explanation: There are two ways to climb to the top.

  1. 1 step + 1 step
  2. 2 steps
    Example 2:
    Input: 3 ; Output: 3
    Explanation: There are three ways to climb to the top.
  3. 1 step + 1 step + 1 step
  4. 1 step + 2 steps
  5. 2 steps + 1 step

Solution

public int climbStairs(int n) {
	int[] dp = new int[n + 1];
	dp[0] = 1; dp[1] = 1;
	for (int i = 2; i <= n; i++)
		dp[i] = dp[i - 1] + dp[i - 2];
	return dp[n];
}

   Reprint policy


《Climbing Stairs》 by Tong Shi is licensed under a Creative Commons Attribution 4.0 International License
 Previous
Edit Distance Edit Distance
LeetCode Q 72 - Edit DistanceGiven two words word1 and word2, find the minimum number of operations required to convert
2019-04-22 Tong Shi
Next 
Minimum Path Sum Minimum Path Sum
LeetCode Q 64 - Minimum Path SumGiven a m x n grid filled with non-negative numbers, find a path from top left to bottom
2019-04-22 Tong Shi
  TOC