Question
You are climbing a staircase. It takes n steps to reach the top. Each time you can either climb 1 or 2 steps. In how
You are climbing a staircase. It takes n steps to reach the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
For this problem, why does this solution work?
class Solution {
public:
int climbStairs(int n) {
int one =1;
int two = 1;
int temp;
for(int i = 0; i < n-1;i++){
temp = one;
one = one + two;
two = temp;}
return one;
}
};
but this one doesn't
class Solution {
public:
int climbStairs(int n) {
int one =1;
int two = 1;
int temp;
for(int i = 0; i < n-1;i++)
temp = one;
one = one + two;
two = temp;
return one;
}
};
I thought that the return statement had to be inside the for loop otherwise it would return 1, but that isn't the case. Why does the return statement have to be outside of the for loop for this problem? Thanks!
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started