前言:
刚开始看 (Algorithm Design and Application),其中第1章算法分析中讲到一个算法分析案例,就是最大子数组问题(Maximum subarray problem),据说大公司的面试经常考察这个问题,可以测试程序员思考能力,而且应用于数字化图像模式识别。
问题描述:
给定一个数组A[-2,-4,3,-1,5,6,-7,-2,4,-3,2],连续的子数组的和最大的是[3,-1,5,6] = 13.
思路分析:
暴力方法:子数组的起始位置用 i 标记,最外层循环依次从第0个位置到第n-1处;用 j 标记当前的终止位置,每次循环计算依次sum,再与max比较(max标记当前最大的子数组的和)