给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;整数 fee 代表了交易股票的手续费用。

你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。

返回获得利润的最大值。

注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。

示例 1:

输入:prices = [1, 3, 2, 8, 4, 9], fee = 2
输出:8
解释:能够达到的最大利润:  
在此处买入 prices[0] = 1
在此处卖出 prices[3] = 8
在此处买入 prices[4] = 4
在此处卖出 prices[5] = 9
总利润: ((8 - 1) - 2) + ((9 - 4) - 2) = 8
示例 2:

输入:prices = [1,3,7,5,10,3], fee = 3
输出:6

提示:

1 <= prices.length <= 5 * 104
1 <= prices[i] < 5 * 104
0 <= fee < 5 * 104

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee

1、动态规划

class Solution {
public:int maxProfit(vector<int>& prices, int fee) {int n = prices.size();int dp[n][2];dp[0][0] = 0;                      //手里没有一只股票时的利润dp[0][1] = -prices[0];             //手里有股票时的利润for(int i = 1 ; i < n ; i++){dp[i][0] = max(dp[i-1][0] , prices[i] + dp[i-1][1] - fee);dp[i][1] = max(dp[i-1][1] , dp[i-1][0] - prices[i]);}return dp[prices.size() - 1][0];}
};

714. 买卖股票的时机含手续费相关推荐

  1. 【必备算法】动态规划:LeetCode题(九)309. 最佳买卖股票时机含冷冻期,714. 买卖股票的最佳含手续费

    买卖股票系列: [必备算法]动态规划:一个思路解决六道股票问题 [必备算法]动态规划:LeetCode题(七)121. 买卖股票的最佳时机,122. 买卖股票的最佳时机 II [必备算法]动态规划:L ...

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

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

  3. 【第51天| 309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费 】

    309.最佳买卖股票时机含冷冻期 三个状态: 1. 当前持有股票状态1 2. 当前不持有股票,且不是今天卖出的股票状态2 3. 当前不持有股票, 且股票是今天卖出的状态3 题目要求前一天卖出了股票今天 ...

  4. 力扣刷题day44|309最佳买卖股票时机含冷冻期、714买卖股票的最佳时机含手续费

    文章目录 309. 最佳买卖股票时机含冷冻期 思路 动态规划五部曲 714. 买卖股票的最佳时机含手续费 贪心思路 难点 动态规划思路 动态规划五部曲 309. 最佳买卖股票时机含冷冻期 力扣题目链接 ...

  5. 【leetcode】714.买卖股票的最佳时机含手续费

    题目详见 714.买卖股票的最佳时机含手续费 题目难点 买入和卖出时机的位置怎么算 解决方案 买入点:最低价格就行 卖出点:例如1.6.8 fee=2,很明显在1买入,在8卖出,那怎么用算法来判断呢, ...

  6. 714. 买卖股票的最佳时机含手续费(CPP)

    714. 买卖股票的最佳时机含手续费 给定一个整数数组 pricespricesprices,其中第 iii 个元素代表了第 iii 天的股票价格 :非负整数 feefeefee 代表了交易股票的手续 ...

  7. LeetCode 714 买卖股票的最佳时机含手续费

    714. 买卖股票的最佳时机含手续费 题目 思路 过一遍,记录第i天是否买入和卖出的最值. 代码 class Solution {public:int maxProfit(vector<int& ...

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

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

  9. Leetcode刷题笔记 714. 买卖股票的最佳时机含手续费

    714. 买卖股票的最佳时机含手续费 时间:2020年12月17日 知识点:动态规划 题目链接:https://leetcode-cn.com/problems/best-time-to-buy-an ...

最新文章

  1. 终于有人把 java代理 讲清楚了,万字详解!
  2. All input tensors must be on the same device
  3. python 左旋转字符串
  4. sqlliet 创建多表查询的视图_第4关 复杂查询
  5. FJWC 2019 游记
  6. javascript,jquery 操作 dropdownlist ,select
  7. ajax回复留言,Ajax 留言板模拟
  8. c++实现顺序表的相关操作
  9. Vue 中使用watch监听$route 无效问题
  10. 转 - 猴子都能看懂的比特币区块链技术之加密算法
  11. html自适应布局_三分钟学会响应式布局和自适应布局
  12. java 控制线程的顺序_【Java多线程系列四】控制线程执行顺序
  13. 学生信息管理系统(JAVA+MYSQL)
  14. Openstack版本查看
  15. led点阵c语言程序,LED点阵C语言程序
  16. 思维方式 | 深入浅出解释“第一性原理”
  17. Parity(奇偶校验)和ECC(错误检查和纠正)
  18. 华硕a53s拆机图解_华硕a53s配置 功能与外观描述【图解】
  19. Java 程序员,年薪 40W 需要什么水平?
  20. linux 多点触摸屏测试,c – Linux中的多点触控

热门文章

  1. Spark初识-什么是Spark
  2. CSDN如何进行转载
  3. easycode不推荐使用_[LaTeX 发行版] 2018年,为什么不推荐使用 CTeX 套装了
  4. 深入浅出 Python 装饰器:16 步轻松搞定 Python 装饰器
  5. 固体磁性五种磁性材料的性质
  6. R - C~K招亲_Java
  7. Linux下paste工具的使用
  8. unity 刘海屏适配问题
  9. 网页实训课程心得体会
  10. 自我评估,职业规划及对计算机专业的理解(大三软件工程学生的第一篇博客)