算法与数据结构
文章平均质量分 95
LemintC
这个作者很懒,什么都没留下…
展开
-
快排的PARTITION过程,荷兰国旗问题,leetcode324摆动排序问题分析比较总结
上述三个问题具有一些共性,本文给出这种共性的描述与总结,然后给出一套固定的分析模式,指导读者如何***正确清晰***的去分析这类问题。注:正确清晰指的是,按照本文给的这种模式去分析,写代码的时候会很少出错,思考的思路有非常有迹可循。三个问题的共性与区别分析的固定模式示例:PARTITION过程示例:荷兰国旗过程示例:leetcode324摆动排序构成注意:一些非常细微的注意的地方参...原创 2019-08-08 10:06:13 · 224 阅读 · 0 评论 -
由leetcode324题谈起
从leetcode324题谈起,结合快排的partition过程以及荷兰国旗问题汇总比较分析原创 2019-08-07 15:21:54 · 110 阅读 · 0 评论 -
关于利用有限自动机进行字符串匹配
文章目录有限自动机的字符串匹配一种针对 $\Sigma^*P\Sigma^*$ 模式的正则表达式的DFA直接构造方法转移函数$\delta$的定义如何高效的计算转移函数???与KMP算法的联系与区别注:需要读者学习过基础的形式语言与自动机的相关知识,至少是了解正则表达式,DFA,NFA的关系。在算法导论32.3节中,介绍了一种利用有限自动机进行字符串匹配的算法,看上去非常复杂,在本文中我尝试从...原创 2019-08-20 17:48:11 · 957 阅读 · 0 评论 -
使用一个统一的自动机模型处理leetcode的几道股票交易问题
通过定义一个能够识别合法的股票交易操作的自动机,然后借助这个自动机的状态来定义相关股票交易操作的收益函数。有了自动机与收益函数的定义后,我们就可以将原问题转换为一个与自动机状态相关的最优化问题。然后通过分析状态转移函数,建立一个状态之间的最优收益转移方程,通过自底向上的DP方法来求解此方程,就可以得到最终问题的解原创 2019-08-29 17:14:51 · 237 阅读 · 0 评论 -
从leetcode45题简单聊起
文章目录前言贪心法解决贪心原则贪心选择性质的证明DP的代码贪心的代码前言看到leetcode45题的时候,发现标记是困难,但是定睛一看,这不就是一个非常简单的DP问题么。抱着这种想法,我想着应该可能是int型溢出可能需要单独处理吧。所以很小心的来处理int的溢出问题。最后运行的时候发现问题是超时。这时候就回过头来仔细想了想:1、已经使用了DP来解决了,而且都是一维的DP,子空间结构改进的...原创 2019-09-02 18:30:29 · 292 阅读 · 0 评论 -
从最大子数组问题聊子问题结构在DP与分治中的表达
文章目录摘要最大子数组问题描述使用分治解决最大子数组问题使用DP解决最大子数组问题比较分治与DP子问题空间结构案例1:最大矩形问题案例2:最大乘积子数组问题思考:注待续摘要在处理最大子数组问题(leetcode53),最大矩形问题(leetcode85),最大子数组乘积问题(leetcode152)的过程中,总感觉有一层迷雾在挡着我,特别是用DP处理了这些问题后,得到的代码效率还是很低。这让...原创 2019-09-04 22:05:19 · 249 阅读 · 0 评论 -
由leetcode221与leetcode300分析一类DP问题的子问题空间结构
从leetcode221题与leetcode300题来分析一类DP问题的子问题空间结构的发现原创 2019-09-24 08:17:22 · 241 阅读 · 0 评论