![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
FulChou
SYSUer
展开
-
leetcode 1288 删除覆盖区间,python 自定义sorted 使用总结
题目链接: https://leetcode-cn.com/problems/remove-covered-intervals/class Solution: def removeCoveredIntervals(self, intervals: List[List[int]]) -> int: import functools ''' 思路 先排序 begin 从小到大,end 从大到小,然后再按照区间的相对位置进行三种不同的处理:原创 2020-12-24 20:52:39 · 140 阅读 · 0 评论 -
股票买卖4 (any k) 时间维度优化,以及犯错python for x in range(x)错误经验
今天是最难得股票题了。 11.06. 10:50对于任意 k 的解决办法,还是运用dp 的思维。今天有股票的最大profit = max(昨天有股票的最大收益, 昨天没有邮票的最大收益 - 昨天买一股票的亏损)今天无股票的最大profit = max(昨天无股票的最大收益, 昨天有邮票的最大收益 + 昨天卖股票的收益 )class Solution: def maxProfit(self, k: int, prices: List[int]) -> int: n =原创 2020-11-06 10:48:22 · 167 阅读 · 0 评论 -
dp思想解决股票问题3 k=2或者无穷,节约内存版本
解题思路此处撰写解题思路dp 方程写好之后就是 注意迭代 以及k=2时, 如何节约内存。不使用数组如果k = 无穷,必然使用数组,并且记得初始化dp[0][k][0] = 0 dp[0][k][1] = -prices[i]或者说:dp[-1][k][0] = 0 dp[-1][k][1] = -无穷代码class Solution: def maxProfit(self, prices: List[int]) -> int: ''' 状态转移方原创 2020-11-05 19:44:20 · 139 阅读 · 0 评论 -
股票二记录贴,动规一定好?这个时候贪心更简单
解题思路此处撰写解题思路记录一下dp的过程,并且还有一个更好的方法,只要 记录差值为正就加上的贪心算法代码class Solution: def maxProfit(self, prices: List[int]) -> int: """ 动归方程: dp[i][k][1] = max(dp[i-1][k][1],dp[i-1][k-1][0] - price[i]) dp[i][k][0] = max(dp[i-1][k原创 2020-11-04 15:02:34 · 115 阅读 · 0 评论 -
dp解决股票买卖问题1
解题思路此处撰写解题思路状态转移方程 i 第几填,k第几次操作,1买了股票,0没有买股票。 此时的最大profit 买的过程算操作了一次,即买的时候k-1 dp_table[i][k][1] = max(dp_table[i-1][k][1],dp_table[i-1][k-1][0]-prices[i]) dp_table[i][k][0] = max(dp_table[i-1][k][0],dp_table[i-1][k][1]+prices[i])这里我们k = 1的 时候原创 2020-11-03 21:37:58 · 192 阅读 · 0 评论