题解 | #最小花费爬楼梯#
最小花费爬楼梯
https://www.nowcoder.com/practice/9b969a3ec20149e3b870b256ad40844e
#include <algorithm> #include <iostream> #include <vector> using namespace std; int min_cost(int num,int* cost) { int dp1=0,dp2=0,dp=0; for (int i=2; i<=num; i++) { dp=min(dp1+cost[i-1],dp2+cost[i-2]); dp2=dp1; dp1=dp; } return dp; } int main() { int n; cin>>n; int cost[n]; for (int i=0; i<n; i++) { cin>>cost[i]; } int output; output=min_cost(n, cost); cout<<output; return 0; } // 64 位输出请用 printf("%lld")