Question: The following code doesn't correctly return the index values of the minimum contiguous subsequence. Please modify it so that it does, with comments if possible.

The following code doesn't correctly return the index values of the minimum contiguous subsequence. Please modify it so that it does, with comments if possible.

def minSumRec(a, left, right):

if left == right:

return [a[left], left, right]

center = int((left + right) / 2)

min_left_sum = minSumRec(a, left, center)

min_right_sum = minSumRec(a, center + 1, right)

min_left_border_sum, left_border_sum = 1e9, 0

for i in range(center, left - 1, -1):

left_border_sum += a[i]

if left_border_sum < min_left_border_sum:

min_left_border_sum = left_border_sum

min_right_border_sum, right_border_sum = 1e9, 0

for i in range(center + 1, right + 1):

right_border_sum += a[i]

if right_border_sum < min_right_border_sum:

min_right_border_sum = right_border_sum

min_border_sum = min_right_border_sum + min_left_border_sum

minSum = min(min_left_sum[0], min_right_sum[0], min_border_sum)

if minSum == min_left_sum:

return min_left_sum

if minSum == min_right_sum:

return min_right_sum

return [min_border_sum, left + 1, right - 1]

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!