714. 买卖股票的最佳时机含手续费
题目链接:714. 买卖股票的最佳时机含手续费
class Solution(object):
def maxProfit(self, prices, fee):
"""
:type prices: List[int]
:type fee: int
:rtype: int
"""
n=len(prices)
dp=[[0]*2 for _ in range(len(prices))]
dp[0][0]=-prices[0]
for i in range(1,len(prices)):
dp[i][0]=max(dp[i-1][0],dp[i-1][1]-prices[i])
dp[i][1]=max(dp[i-1][1],dp[i-1][0]+prices[i]-fee)
return max(dp[n-1][0],dp[n-1][1])
300. 最长递增子序列
题目链接:300. 最长递增子序列
&emsp这题比较难想到,因为比较难。递推公式比较难。
class Solution(object):
def lengthOfLIS(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
dp=[1]*len(nums)
for i in range(len(nums)):
for j in range(i):
if nums[i]>nums[j]:
dp[i]=max(dp[j]+1,dp[i])
return max(dp)
674. 最长连续递增序列
题目链接:674. 最长连续递增序列
这题很简单,就是把上一题改一改就行。
class Solution(object):
def findLengthOfLCIS(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
dp=[1]*len(nums)
for i in range(1,len(nums)):
if nums[i]>nums[i-1]:
dp[i]=dp[i-1]+1
else:
dp[i]=1
return max(dp)