DSA problem
Maximum Subarray
Given an integer array nums, find the subarray with the largest sum, and return its sum.
A subarray is a contiguous non-empty sequence of elements within an array.
This is the canonical application of Kadane's Algorithm. The core idea is that the maximum-sum subarray ending at any index either extends the best subarray ending at the previous index or starts fresh at the current element, whichever yields a larger sum.
Examples
Example 1
Input:
nums = [-2,1,-3,4,-1,2,1,-5,4]Output:
6Explanation: The subarray [4,-1,2,1] has the largest sum 6.
Example 2
Input:
nums = [1]Output:
1Explanation: The subarray [1] has the largest sum 1.
Example 3
Input:
nums = [5,4,-1,7,8]Output:
23Explanation: The subarray [5,4,-1,7,8] has the largest sum 23.
Constraints
- 1 <= nums.length <= 10^5
- -10^4 <= nums[i] <= 10^4
3 hints and a full solution walkthrough with step-by-step visualizations are available in the practice editor.