2020-wfx-第3章-分治法-4-组合-最大连续子序列和.pptxVIP

  • 10
  • 0
  • 约1.87千字
  • 约 11页
  • 2024-06-04 发布于四川
  • 举报

2020-wfx-第3章-分治法-4-组合-最大连续子序列和.pptx

3.4求解组合问题——最大子序列和;【问题描述】

给定一个有n(n≥1)个整数的序列,要求求出其中最大连续子序列的和。

规定一个序列最大连续子序列和至少是0,如果小于0,其结果为0。

序列(-2,11,-4,13,-5,-2)的最大子序列和为20

序列(-6,2,4,-7,5,3,2,-1,6,-9,10,-2)的最大子序列和为16。

;【问题求解】

对于含有n个整数的序列a[0..n-1],若n=1,表示该序列仅含一个元素,如果该元素大于0,则返回该元素;否则返回0。

若n1,采用分治法求解最大连续子序列时,取其中间位置mid=?(n-1)/2?,该子序列只可能出现3个地方。

(1)该子序列完全落在左半部即a[0..mid]中。采用递归求出其最大连续子序列和maxLeftSum。;(2)该子序列完全落在右半部即a[mid+1..n-1]中。采用递归求出其最大连续子序列和maxRightSum。;(3)该子序列跨越序列a的中部而占据左右两部分。;-211-413-5-2;//求a[left..high]序列中最大连续子序列和

longmaxSubSum(inta[],intleft,intright)

{inti,j;

longmaxLeftSum,maxRightSum;

longmaxLef

文档评论(0)

1亿VIP精品文档

相关文档