在做股票投资时,当买进最低,抛出最高时,获取的盈利是最大的,分别求出当天相对于前天的差价,数学上讲,将差价定义为一个数组,求其一阶差分,求一个数组下标,使得其和最大。


为了解决这一问题,可以采用分治法解决,对于数组A,开始、中间和结束坐标索引为low,mid,hight,最大的子数组只可能存在[low,mid],[mid+1,hight]和跨越中点的最大子数组,
函数FIND-MAX-CORSSING-SUBARRAY接受数组A及线标low,mid,high为输入,返回一个下标元祖划定跨越中点的最大子数组的边界,并返回最大子数组

分析可以知道,其复杂度为N,进而可以通过分治算法求得最终解如下所示: