Question: In the maximum subarray problem, we are given a vector of integers vec and want to find the maximum sum of entries in a contiguous

In the maximum subarray problem, we are given a vector of integers vec and want to find the maximum sum of entries in a contiguous subvector. That is, we want to find indices i=j so that vec[i]+ vec[i+1]+...+ vec[j] is as large as possible. Here is an example in the pictured image. In this example the maximum sum of entries in a contiguous subvector is from index 2 to index 6 and has sum 187.
We can approach the maximum subarray problem using dynamic programming. Let largestSumTo be a vector where largestSumTo[j] is the maximum over i=j of vec[i]+ vec[i+1]+...+ vec[j], i.e., the largest sum of contiguous entries that ends at index j.
We set largestSumTo[0]= vec[0] and then successively compute largestSumTo[1], largestSumTo[2],..., largestSumTo[n], when the input vector has size n. For j>0, how can we express largestSumTo[j] in terms of the previous entries of largestSumTo ? pick an answer
a. largestSumTo[j]= vec[j]+ largestSumTo[j-1]
b. largestSumTo[j]= max(vec[j]+ largestSumTo[j-1], vec[j])
c.largestSumTo[j]= largestSumTo[j-1]+ largestSumTo[j-2]
d. largestSumTo[j]= max(vec[j], vec[j]+ vec[j-1])
 In the maximum subarray problem, we are given a vector of

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!