分治策略

最大子数组问题

思路

暴力求解方法

尝试每对可能的买进和卖出日期组合,只要卖出日期在买入日期之后即可。
n天中共有$C_n^2$种日期组合。日期组合复杂度$C_n^2=\Theta(n^2)$,处理每对日期所花费的时间至少是常量,因此这种方法的运行时间是$\Omega(n^2)$

分治策略

目的寻找一段日期,使得从第一天到最后一天的股票价格净变值最大,不再从每日价格的角度去思考,而是考察每日的价格变化,第i天的价格变化是指第i天和第i-1天的价格差。那问题转换为寻找数组的和最大的非空连续子数组,称为最大子数组。