日常leetcode代码思路总结(持续更新)

日常leetcode代码思路总结(持续更新)

难易 leecode题号 题目描述 思路
简单 121. 买卖股票的最佳时机 只准一次买卖 0表示持有,1表示不持有; dp[0][i] = max(dp[0][i-1], -prices[i]); dp[1][i] = max(dp[1][i-1], dp[0][i] + prices[i])
中等 122. 买卖股票的最佳时机 II 无限买卖 indexMin表示极小值下标,indexMax表示极大值下标,在极大值点切换时, 累加每次indexMax > indexMin -> prices[indexMax]-prices[indexMin],额外需考虑最终一直上涨情况
困难 123. 买卖股票的最佳时机 III 两次买卖 dp[0][0] = 0, dp[0][1] = -prices[0], dp[0][2] = 0, dp[0][3] = -prices[0]; dp[i][1] = max(dp[i-1][1], dp[i][0] - prices[i]); // 第一次买 dp[i][2] = max(dp[i-1][2], dp[i][1] + prices[i]); // 第一次卖 dp[i][3] = max(dp[i-1][3], dp[i][2] - prices[i]); // 第二次买 dp[i][4] = max(dp[i-1][4], dp[i][3] + prices[i]); // 第二次卖
困难 188. 买卖股票的最佳时机 IV k次买卖 由2次买卖找规律推导出来,k = k * 2,通过奇偶进行[0, n), [0, k)双层遍历
相关推荐
RTC老炮2 小时前
webrtc降噪-PriorSignalModelEstimator类源码分析与算法原理
算法·webrtc
草莓火锅4 小时前
用c++使输入的数字各个位上数字反转得到一个新数
开发语言·c++·算法
散峰而望4 小时前
C/C++输入输出初级(一) (算法竞赛)
c语言·开发语言·c++·算法·github
Kuo-Teng5 小时前
LeetCode 160: Intersection of Two Linked Lists
java·算法·leetcode·职场和发展
fie88895 小时前
基于MATLAB的狼群算法实现
开发语言·算法·matlab
偷偷的卷5 小时前
【算法笔记 11】贪心策略六
笔记·算法
ZPC82106 小时前
FPGA 部署ONNX
人工智能·python·算法·机器人
_w_z_j_6 小时前
爱丽丝的人偶
算法
老前端的功夫7 小时前
Vue2中key的深度解析:Diff算法的性能优化之道
前端·javascript·vue.js·算法·性能优化
想要打 Acm 的小周同学呀7 小时前
爬虫相关的面试问题
爬虫·selenium·职场和发展