https://www.nowcoder.com/practice/6fe0302a058a4e4a834ee44af88435c7?tpId=295&tqId=2366451&ru=%2Fpractice%2Fb58434e200a648c589ca2063f1faf58c&qru=%2Fta%2Fformat-top101%2Fquestion-ranking&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26tab%3D%25E7%25AE%2597%25E6%25B3%2595%25E7%25AF%2587%26topicId%3D295
动态规划,关键是要找到动态规划的转移方程,以及边界的初始值。
GO
package main/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param cost int整型一维数组 * @return int整型 */ func min(a int,b int) int{ if a > b{ return b } return a } func minCostClimbingStairs( cost []int ) int { // write code here dp := make([]int,len(cost)+1) dp[0],dp[1] = 0,0 for i:=2;i<=len(cost);i++{ dp[i] = min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]) } return dp[len(cost)] } 运行时间 47ms 占用内存 9628KB
C++
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param cost int整型vector * @return int整型 */ int minCostClimbingStairs(vector<int>& cost) { // write code here vector<int> dp(cost.size()+1); dp[0] = 0; dp[1] = 0; for(int i=1;i<dp.size();i++){ dp[i] = min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]); } return dp[cost.size()]; } };运行时间 21ms
占用内存 2980KB
标签:vector,爬楼梯,花费,int,cost,BM64,return,dp,整型 From: https://www.cnblogs.com/starter-songudi/p/17079416.html