09 2019 档案
摘要:Leetcode上一共出现了6道炒股问题:一个数组代表一支股票每天的价格,买了股票再卖出算一次交易,多个交易不能交叉,即只能卖了股票之后才能再买。求最大收益。 Leetcode上有一篇post介绍了一种通用的针对这类问题的解法,值得参考。 以下是我总结的每个问题比较容易理解的方法。 1.Best T
阅读全文
摘要:问题描述:在一个数列中找到一个连续的子数列,使得该子数列的和最大。 Kadane算法 扫描一次整个数列的所有值,在每个点计算以该点为结束点的子数列的最大和。该子数列由两部分组成:以前一个位置为结束点的最大子数列、该点的数值。(最优子结构,因此是动态规划问题) 这个问题很早就被Jon Bentley讨
阅读全文
摘要:https://www.zhihu.com/search?q=%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE&utm_content=search_history&type=content C++ <algorithm>的四个二分查找函数:搜索区间为[first, last
阅读全文
摘要:问题来源于the Dutch national flag problem,荷兰国旗问题? 把数组重新排序,比mid小的在前面,等于mid的在中间,比mid大的在最后,类似于快速排序中的partition 循环里,i <= j 保持不变,n是比mid大的数字在数组中的索引下界,j是当前考虑的数字的索引
阅读全文

浙公网安备 33010602011771号