{ array: number[] }
1maxSum = arr[0], currentSum = arr[0] → maxSum = -2, currentSum = -22for i = 1 to n-1: → i = 0 (arr[i]=-2)3 currentSum = max(currentSum + arr[i], arr[i]) restart → -24 maxSum = max(maxSum, currentSum) → -25return maxSum
1function maxSubArray(arr: number[]): number {2 let maxSum = arr[0], currentSum = arr[0];3 for (let i = 1; i < arr.length; i++) {4 currentSum = Math.max(currentSum + arr[i], arr[i]);5 maxSum = Math.max(maxSum, currentSum);6 }7 return maxSum;8}