Minha solução:
Nota: Você também precisa considerar o caso de n = 0, porque o primeiro exemplo é 0, que ficou parado por um longo tempo.
Embora essa pergunta seja igual a 70 perguntas para subir escadas, é possível passar 70 perguntas sem considerar 0
class Solution {
public:
int numWays(int n) {
if(n==1||n==0) return 1;
if(n==2) return 2;
vector<int> dp(n);
dp[0]=1;
dp[1]=2;
for(int i=2;i<n;i++){
dp[i]=(dp[i-1]+dp[i-2])%1000000007;
}
return dp.back();
}
};