题目:
给定一个整数数组 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

答案:

class Solution {public int maxProfit(int[] prices, int fee) {//1是持有,0是未持有//dp[i][0]表示第i天时不持有股票, dp[i][1]表示第i天时持有股票//定义卖出股票时减去交易费if(prices.length == 0 || prices.length == 1) return 0;int n = prices.length;int[][] dp = new int[n][2];dp[0][0] = 0;dp[0][1] = -prices[0];for(int i = 1; i < n; i++){dp[i][0] = Math.max(dp[i - 1][0], dp[i - 1][1] + prices[i] - fee);dp[i][1] = Math.max(dp[i - 1][1], dp[i - 1][0] - prices[i]);}return dp[n - 1][0];}
}

【力扣】714. 买卖股票的最好时机含手续费相关推荐

  1. 【LeetCode刷题笔记-39 714.买卖股票的最佳时机(含手续费)】

    题目: 今天是正式开始独立思考动态规划解题的日子. 这题拿到手的时候,我第一时间其实想到的就是动态规划,去找他每天最大收益状态,但是想来想去发现行不通,于是就作弊看答案了,发现是使用双状态的方法考虑的 ...

  2. 力扣 714. 买卖股票的最佳时机含手续费

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

  3. 【数据结构与算法】之深入解析“买卖股票的最好时机含手续费”的求解思路与算法示例

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

  4. 买卖股票的zuija时机含手续费(Java)

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

  5. 力扣:121. 买卖股票的最佳时机 题解

    力扣:121. 买卖股票的最佳时机 1 题目描述 2 题解 1 题目描述 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格. 你只能选择 某一天 ...

  6. 力扣123.买卖股票的最佳时机Ⅲ买卖股票的最佳时机Ⅳ

    文章目录 一.力扣123.买卖股票的最佳时机Ⅲ 题目描述 方法一:无脑拆分为五种状态,然后用dp 二.力扣123.买卖股票的最佳时机Ⅳ 题目描述 方法一:划分2k种状态,用dp 一.力扣123.买卖股 ...

  7. 力扣 -- 123. 买卖股票的最佳时机 III

    题目链接:123. 买卖股票的最佳时机 III - 力扣(LeetCode) 下面是用动态规划的思想解决这道题的过程,相信各位小伙伴都能看懂并且掌握这道经典的动规题目滴. 参考代码: class So ...

  8. 【力扣】买卖股票的最佳时机 II

    目录 1.问题 2.示例 3.提示 4.思路 6.代码 1.问题 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格. 在每一天,你可以决定是否购买和/或出售股票 ...

  9. 力扣123. 买卖股票的最佳时机 III

    给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你最多可以完成 两笔 交易. 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的 ...

  10. 力扣--122. 买卖股票的最佳时机 II

    题目 python代码 def maxProfit(prices):maxPro = 0i = 1while i < len(prices):profit = prices[i] - price ...

最新文章

  1. 我们单位里新来的应届毕业生(转贴)
  2. 基于VTK的MFC应用程序开发(3)
  3. linux java usb 串口_2019-11-02 Linux下USB-串口的使用
  4. datax 定时执行多个job_DataX在有赞大数据平台的实践
  5. wdatepicker ajax传参,DatePicker在Ajax加载的页面中不起作用
  6. 小米财报:Q3营收537亿创新高 经调净利35亿超市场预期
  7. HDU2049 不容易系列之(4)——考新郎【递推】
  8. 简谈Java的join()方法(转)
  9. 前端安全——XSS攻击与防御原理详解
  10. MLK-12Q-DC48多路直流电能表说明书
  11. 数商云制药医药供应链erp管理系统解决方案
  12. ex10_11修改Loan类
  13. 给图片加边框源代码c语言,给图片加框的代码及效果
  14. android x86 mip,mip-appdl
  15. Python学习手册之Python异常和文件
  16. Clear Type之父谈阅读革命(转载)
  17. JavaScript对JSON数组操作。数组添加(push)以及移除(splitce)
  18. 信号的概念,认识,处理动作
  19. [svn]svn conflict 冲突解决
  20. URL解码:比照法的问题

热门文章

  1. JDBC连接报错:Client does not support authentication protocol requested by server; consider upgrading MyS
  2. ecu的c语言编程,ecu中的程序是如何编写的
  3. 设计模式-手机生产-抽象工厂模式
  4. 1156 Sexy Primes (20 分)(质数 模拟
  5. PS制作水印的简单教程
  6. win10打开游戏提示你的图形硬件不支持怎么办
  7. Python计算机视觉-仿射扭曲简单实例
  8. 计算在1901年1月1日至2000年12月31日间共有多少个星期天落在每月的第一天上
  9. 罗技m330更换接收器(通过重新对码的方式)
  10. JavaScript入门培训材料(Copy至此以作备份)