题解 | #跳台阶#
跳台阶
https://www.nowcoder.com/practice/bfb2a2b3cdbd4bd6bba0d4dca69aa3f0
#include <iostream> #include <vector> using namespace std; int main() { int n; cin>>n; vector<int> dp(n+1); dp[1]=1; dp[2]=2; for(int i=3;i<=n;i++){ dp[i]=dp[i-1] + dp[i-2]; } cout<<dp[n]; return 0; } // 64 位输出请用 printf("%lld")
思路很简单,到达每个台阶,要么从前两阶,要么从前一阶上来。