Python Forum
In linear time, find the maximum sum of all possible contiguous subarrays
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
In linear time, find the maximum sum of all possible contiguous subarrays
#8
(Oct-02-2019, 09:04 PM)Gribouillis Wrote: It seems easy if you define s[j] = sum(arr[i] for i in range(j)) because if the maximum sum of contiguous subarrays is reached for a the range(a, b) of indices, with a <= b, then this sum is s[b] - s[a] and for all c <= b one has s[b] - s[c] <= s[b] - s[a] which means that s[a] <= s[c], hence s[a] is the minimum value of s for all indices smaller than b. Hence the algorithm

start with mv = 0 and sv = 0 and best = 0
for b in range(n):
    sv += arr[b]
    mv = min(mv, sv)
    best = max(best, sv - mv)
return best

I didn't understand most of the that, but I'm going to work on it till I do!
Reply


Messages In This Thread
RE: In linear time, find the maximum sum of all possible contiguous subarrays - by Exsul1 - Oct-03-2019, 10:06 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  find the header location in a .bin file without reading the whole file at a time SANJIB 0 2,275 Mar-05-2021, 04:08 PM
Last Post: SANJIB
  Find frequencies of an audio file at a specific time via librosa jberesford123__ 0 2,443 Oct-21-2020, 01:18 PM
Last Post: jberesford123__
  Find data using a period of time in SQLITE3 SmukasPlays 2 2,258 Jul-30-2020, 02:02 PM
Last Post: SmukasPlays
  Find if time is between start and end time mikke3141 3 2,352 Jan-03-2020, 08:48 PM
Last Post: mikke3141
  Find Maximum Flow for graph with infinite capacities Dav 6 4,440 Apr-16-2019, 02:08 PM
Last Post: Dav

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020