![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
IDoubleTong
这个作者很懒,什么都没留下…
展开
-
拼凑面额 解题报告 【动态规划】
拼凑面额 解题报告 【动态规划】原创 2018-09-18 15:25:17 · 605 阅读 · 1 评论 -
POJ 2368-Buttons 解题报告 【博弈】
POJ 2368-Buttons 解题报告 【博弈】原创 2018-09-23 13:45:05 · 473 阅读 · 1 评论 -
POJ 2559-Largest Rectangle in a Histogram 解题报告 【笛卡尔树与单调栈】
POJ 2559-Largest Rectangle in a Histogram 结题报告 【笛卡尔树与单调栈】原创 2018-09-29 15:19:21 · 570 阅读 · 1 评论 -
KMP算法
KMP算法 在朴素字符串匹配算法中如果某次匹配失败,则每次把字符串的指针回溯到最开头,这造成了效率低的后果。KMP算法是利用要匹配的模板字符串自身的信息来进行比较,进而移动模板字符串的指针。 图1 如图1所示,在ababa已经匹配的情况下,下一字符不匹配的时候,发现aba是ababa的真后缀同...原创 2019-03-28 13:21:00 · 178 阅读 · 0 评论 -
堆排序
堆 (二叉)堆是一个数组,它可以被看成一个近似的完全二叉树。树上的每一个结点对应数组中的一个元素。除了最底层外,该树是完全充满的,而且是从左到右填充。heap_size表示有多少个堆元素存储在该数组中。 当根结点下标为0时,结点 iii 的左孩子、右孩子和父亲的下标为:#define LEFT(i) ...原创 2019-04-21 10:17:10 · 127 阅读 · 0 评论 -
LeetCode 373. Find K Pairs with Smallest Sums 【优先队列】
优先队列 堆的一个常见应用是作为高效的优先队列。优先队列是一种用来维护维护由一组元素构成的集合 SSS 的数据结构,其中的每一个元素都有一个相关值,称为关键字。一个最大优先队列支持以下操作:INSERT(S,x)INSERT(S,x)INSERT(S,x): 把元素 xxx 插入集合 SSS 中。MAXIMUM(S)MAXIMUM(S)MAXI...原创 2019-04-21 14:21:01 · 535 阅读 · 1 评论 -
LeetCode 121 Best Time to Buy and Sell Stock 买卖股票的最佳时机
方法一 方法一是《算法导论》上最大子数组一节介绍的方法。虽然也是线性时间,但是在构造与前一天的价格差这个步骤多花了时间。方法二 方法二是题解里介绍的方法。如《算法导论》上所讲,不一定是最低价买入,也不一定是最高价卖出。想到的方法是穷举买入卖出的时间 (i,j)(i,j)(i,j),但时间复杂度是 O(...原创 2019-04-23 16:11:34 · 169 阅读 · 0 评论