题目链接

贪心

每次只能交易一个股票,最优的选择就是低买高卖。不过每次交易股票都有一次手续费。可以把手续费算到买入的价格里。只要能收益就交易。
每次卖出一个股票就拥有了原价购买股票的机会。这样就能在具有手续费的前提下低买高卖。

class Solution {public:int maxProfit(vector<int>& prices, int fee) {int profit = 0;int buy = prices[0] + fee;for (int i = 1; i < (int)prices.size(); ++i) {if (prices[i] > buy) {profit += prices[i] - buy;buy = prices[i];}else if (prices[i] + fee < buy){buy = prices[i] + fee;}}return profit;}
};

动态规划

class Solution {public:int maxProfit(vector<int>& prices, int fee) {int n = prices.size();vector<vector<int>> dp(n, vector<int>(2, 0));dp[0][1] = -prices[0];for (int i = 1; i < n; ++i) {dp[i][0] = max(dp[i-1][1] + prices[i] - fee, dp[i-1][0]);dp[i][1] = max(dp[i-1][0] - prices[i], dp[i-1][1]);}return dp[n-1][0];}
};
class Solution {public:int maxProfit(vector<int>& prices, int fee) {int n = prices.size();int buy = -prices[0];int sell = 0;for (int i = 1; i < n; ++i) {buy = max(buy, sell - prices[i]);sell = max(sell, buy + prices[i] - fee);}return sell;}
};

贪心/动态规划 - 买卖股票的最佳时机含手续费相关推荐

  1. 代码随想录贪心算法——买卖股票的最佳时机含手续费

    题目 给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 :非负整数 fee 代表了交易股票的手续费用. 你可以无限次地完成交易,但是你每笔交易都需要付手续费.如果你已经购买 ...

  2. 动态规划——买卖股票的最佳时机含手续费

    题目 给定一个整数数组 prices,其中 prices[i]表示第 i 天的股票价格 :整数 fee 代表了交易股票的手续费用. 你可以无限次地完成交易,但是你每笔交易都需要付手续费.如果你已经购买 ...

  3. leetcode 714 买卖股票的最佳时机含手续费-动态规划(中等)

    714 买卖股票的最佳时机含手续费-动态规划(中等) 给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 :非负整数 fee 代表了交易股票的手续费用. 你可以无限次地完成交 ...

  4. _32LeetCode代码随想录算法训练营第三十二天-贪心算法 | 738.单调递增的数字 、714.买卖股票的最佳时机含手续费、968.监控二叉树

    _32LeetCode代码随想录算法训练营第三十二天-贪心算法 | 738.单调递增的数字 .714.买卖股票的最佳时机含手续费.968.监控二叉树 题目列表 738.单调递增的数字 714.买卖股票 ...

  5. 【算法】贪心算法:LeetCode 714 买卖股票的最佳时机含手续费 、LeetCode 968 监控二叉树

    LeetCode 714 买卖股票的最佳时机含手续费 (中等) 题目 描述 给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 :整数 fee 代表了交易股票的手续费用. 你 ...

  6. 【贪心算法】Leetcode 714. 买卖股票的最佳时机含手续费

    [贪心算法]Leetcode 714. 买卖股票的最佳时机含手续费 题目 给定一个整数数组 prices,其中 prices[i]表示第 i 天的股票价格 :整数 fee 代表了交易股票的手续费用. ...

  7. 【LeetCode】买卖股票的最佳时机含手续费 [M](动态规划)

    714. 买卖股票的最佳时机含手续费 - 力扣(LeetCode) 一.题目 给定一个整数数组 prices,其中 prices[i]表示第 i 天的股票价格 :整数 fee 代表了交易股票的手续费用 ...

  8. 代码随想录算法训练营第三十七天 | 738.单调递增的数字,714. 买卖股票的最佳时机含手续费,968.监控二叉树,总结

    Day36 周日休息~ 一.参考资料 单调递增的数字 https://programmercarl.com/0738.%E5%8D%95%E8%B0%83%E9%80%92%E5%A2%9E%E7%9 ...

  9. 算法训练第五十一天 | 309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费、股票问题总结

    动态规划part12 309.最佳买卖股票时机含冷冻期 题目描述 思路 总结 714.买卖股票的最佳时机含手续费 题目描述 思路 股票问题总结 309.最佳买卖股票时机含冷冻期 题目链接:309.最佳 ...

最新文章

  1. mysql 3.6.4_TOMCAT5+MYSQL5+JIRA3.6.4配置说明
  2. 子域名枚举工具Sublist3r
  3. 聪明的质监员 2011年NOIP全国联赛提高组(二分+前缀和)
  4. 【转】关于Azure存储账户(2)
  5. dedecns 表结构
  6. eclipse常用窗口和功能总结
  7. 手机微信网站开发放弃windows phone的理由
  8. nginx 实现负载均衡
  9. MySQL数据库如何管理与维护_MySQL安全管理、数据库维护及改善性能
  10. 基于消息的软件架构模型演变
  11. Power Integrations推出的全新CAPZero-3 X电容放电IC符合IEC60335标准
  12. pyhive 安装测试及问题解决
  13. 国内半导体发展现状——部分上市公司分类名单
  14. 『IT视界』 [原创评论]揪出"程序员"身上的"六宗罪"
  15. 怎么确定自己毕业论文方向?
  16. RLS,LMS以及NLMS三种自适应均衡matlab仿真
  17. vue watch监听中 immediate, deep, hander的作用
  18. 五德凤雏-集成微模块史上最强大的逐浪CMS v8.5.0正式发布
  19. eds能谱图分析实例_基础理论丨一文了解XPS(概念、定性定量分析、分析方法等)...
  20. 控制访问列表_为什么访问控制列表这么难

热门文章

  1. Flask实战第41天:发送短信验证码
  2. HDU1425 A Chess Game
  3. 华为快应用引擎架构及开发实践
  4. python学习笔记(自定义库文件路径)
  5. C#中的线程(三) 使用多线程
  6. BZOJ 3907: 网格( 组合数 + 高精度 )
  7. 利用 Sunbird 处置你的日程表
  8. 【练习题】构造方法 编写Java程序,模拟简单的计算器。
  9. [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)
  10. 【数据结构与算法】之深入解析“删除链表的倒数第N个结点”的求解思路与算法示例