
- Javascript Basics Tutorial
- Javascript - Home
- Javascript - Overview
- Javascript - Syntax
- Javascript - Enabling
- Javascript - Placement
- Javascript - Variables
- Javascript - Operators
- Javascript - If...Else
- Javascript - Switch Case
- Javascript - While Loop
- Javascript - For Loop
- Javascript - For...in
- Javascript - Loop Control
- Javascript - Functions
- Javascript - Events
- Javascript - Cookies
- Javascript - Page Redirect
- Javascript - Dialog Boxes
- Javascript - Void Keyword
- Javascript - Page Printing
- JavaScript Objects
- Javascript - Objects
- Javascript - Number
- Javascript - Boolean
- Javascript - Strings
- Javascript - Arrays
- Javascript - Date
- Javascript - Math
- Javascript - RegExp
- Javascript - HTML DOM
- JavaScript Advanced
- Javascript - Error Handling
- Javascript - Validations
- Javascript - Animation
- Javascript - Multimedia
- Javascript - Debugging
- Javascript - Image Map
- Javascript - Browsers
- JavaScript Useful Resources
- Javascript - Questions And Answers
- Javascript - Quick Guide
- Javascript - Functions
- Javascript - Resources
Using Kadane’s algorithm to find maximum sum of subarray in JavaScript
Problem
We are required to write a JavaScript function that takes in an array of integers (both positive and negative), arr, as the first and the only argument.
Our function should return the maximum sum of any subarray in linear time
The local_maximum at any arbitrary index i is the maximum of arr[i] and the sum of arr[i] and local_maximum at index i - 1.
This is what we are going to apply to find the maximum subarray sum within an array in linear time.
For example, if the input to the function is −
Input
const arr = [-2, 1, -3, 4, -1, 2, 1, -5, 4];
Output
const output = 6;
Output Explanation
Because the subarray with maximum sum is −
[4, -1, 2, 1]
Example
Following is the code −
const arr = [-2, 1, -3, 4, -1, 2, 1, -5, 4]; const maxSequence = (arr = []) => { let currentSum = 0 let maxSum = 0 for (let elem of arr) { const nextSum = currentSum + elem maxSum = Math.max(maxSum, nextSum) currentSum = Math.max(nextSum, 0) } return maxSum }; console.log(maxSequence(arr));
Output
6
- Related Articles
- Python Program to solve Maximum Subarray Problem using Kadane’s Algorithm
- Maximum Subarray Sum using Divide and Conquer algorithm in C++
- Maximum subarray sum in circular array using JavaScript
- Maximum contiguous sum of subarray in JavaScript
- Program to find maximum ascending subarray sum using Python
- C++ Program to Implement Kadane’s Algorithm
- C++ Program to Find the maximum subarray sum using Binary Search approach
- Program to find maximum absolute sum of any subarray in Python
- Find Maximum Sum Strictly Increasing Subarray in C++
- Maximum subarray sum in O(n) using prefix sum in C++
- Maximum Sum SubArray using Divide and Conquer in C++
- JavaScript program for Size of the Subarray with Maximum Sum
- Maximum Sum Circular Subarray in C++
- Maximum sum bitonic subarray in C++
- Golang program to find maximum sum of a subarray with length k

Advertisements