LeetCode 714. Best Time to Buy and Sell Stock with Transaction Fee
考点 | 难度 |
---|---|
Greedy | Easy |
题目
You are given an array prices where prices[i] is the price of a given stock on the ith day, and an integer fee representing a transaction fee.
Find the maximum profit you can achieve. You may complete as many transactions as you like, but you need to pay the transaction fee for each transaction.
思路
buy = max(buy, sell - price)
sell = max(sell, buy + price - fee)
iterate一遍,sell是max profit
答案
class Solution(object):
def maxProfit(self, prices, fee):
buy = float('-inf')
sell = 0
for price in prices:
buy = max(buy, sell - price)
sell = max(sell, buy + price - fee)