gegeben: gesucht: falls alle
anders formuliert
The Naive Approach
for for
Anzahl Addition:
Reduce Duplicate Work
Using Prefix sum
Divide and Conquer
divide and conquer.excalidraw
⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠ You can decompress Drawing data with the command palette: ‘Decompress current Excalidraw file’. For more info check in plugin settings under ‘Saving’
Excalidraw Data
Text Elements
n/2
n/2
Fall 1
Fall 2
Fall 3
Lösung ganz links
Lösung ganz rechts
Lösung geht über die Mitte
(A(n) ≤ n/2-1)
Link to original
: falls sonst
Another approach
Master Theorem
NOTE
Example
Link to original
Dynamic Programming
class Solution {
public:
int maxSubArray(vector<int> &nums) {
int n = nums.size();
int currentsum = 0;
int maxs = INT_MIN;
int maxsum = INT_MIN;
for (int i = 0; i < n; i++) {
currentsum += nums[i];
maxs = max(maxs, currentsum);
if (currentsum < 0) {
maxsum = max(maxsum, maxs);
currentsum = 0;
maxs = INT_MIN;
}
}
maxsum = max(maxsum, maxs);
return maxsum;
}
};