[LeetCode]746. Min Cost Climbing Stairs
2018-01-11 11:26
344 查看
[LeetCode]746. Min Cost Climbing Stairs
题目描述
思路
不能存在连续两个不选择的数,所以每次更新的公式为min(dp[i - 1] + cost[i], dp[i - 2], cost[i - 1])
考虑选择当前位置,或者选择前一位置的最优结果
代码
#include<iostream> #include<vector> #include<algorithm> using namespace std; class Solution { public: int minCostClimbingStairs(vector<int>& cost) { if (cost.size() == 2) return min(cost[0], cost[1]); if (cost.size() == 3) return min(cost[0] + cost[2], cost[1]); vector<int> dp(cost.size()); dp[0] = cost[0], dp[1] = min(cost[0], cost[1]), dp[2] = min(cost[0] + cost[2], cost[1]); for (int i = 3; i < cost.size(); ++i) dp[i] = min(dp[i - 1] + cost[i], dp[i - 2] + cost[i - 1]); return dp[cost.size() - 1]; } }; int main() { vector<int> cost = { 10,15,20,10 }; Solution s; cout << s.minCostClimbingStairs(cost) << endl; system("pause"); return 0; }
相关文章推荐
- [LeetCode] 746. Min Cost Climbing Stairs
- LeetCode-746. Min Cost Climbing Stairs
- leetcode 746. Min Cost Climbing Stairs
- LeetCode | 746. Min Cost Climbing Stairs | 简单DP上楼梯问题
- LeetCode 746. Min Cost Climbing Stairs
- 746. Min Cost Climbing Stairs[Leetcode从零开刷]
- Leetcode 746. Min Cost Climbing Stairs 最小成本爬楼梯 (动态规划)
- Leetcode 746. Min Cost Climbing Stairs 最小成本爬楼梯 (动态规划)
- leetcode 746. Min Cost Climbing Stairs 走台阶问题 + 斐波拉契序列 + 动态规划DP
- [Leetcode] 746. Min Cost Climbing Stairs 解题报告
- LeetCode - 746. Min Cost Climbing Stairs【简单dp】
- LeetCode 746. Min Cost Climbing Stairs
- LeetCode 746. Min Cost Climbing Stairs (Python)最优解--Apolo_Shane
- [LeetCode] 746. Min Cost Climbing Stairs
- LeetCode 746. Min Cost Climbing Stairs
- 【LeetCode】746. Min Cost Climbing Stairs 解题报告
- LeetCode 746. Min Cost Climbing Stairs(动态规划)
- LeetCode746. Min Cost Climbing Stairs
- Dynamic Programing -- Leetcode problem 746. Min Cost Climbing Stairs
- Leetcode 746. Min Cost Climbing Stairs