Skip to content

Commit 0f2ef61

Browse files
anshumanvaviaryan
authored andcommitted
Added Largest Sum Contiguous Subarray [JavaScript] (iiitv#385)
* Added Largest Sum Contiguous Subarray [JavaScript] * some updates * bot fix v1.0
1 parent f64ce6a commit 0f2ef61

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Community (college) maintained list of Algorithms and Data Structures implementa
2626
| [Heap Sort](https://en.wikipedia.org/wiki/Heapsort) | [:white_check_mark:](heap_sort/heap_sort.c) | | [:white_check_mark:](heap_sort/HeapSort.java) | [:white_check_mark:](heap_sort/heap_sort.py) | | [:white_check_mark:](heap_sort/heapSort.js) |
2727
| [Insertion Sort](https://en.wikipedia.org/wiki/Insertion_sort) | [:white_check_mark:](insertion_sort/insertion_sort.c) | | [:white_check_mark:](insertion_sort/InsertionSort.java)| [:white_check_mark:](insertion_sort/insertion_sort.py) | [:white_check_mark:](insertion_sort/insertion_sort.go) | |
2828
| [k-NN](https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm) | | | | [:white_check_mark:](k_nn/k_nn.py) | | |
29-
| [Largest Sum Contiguous Subarray](http://www.geeksforgeeks.org/largest-sum-contiguous-subarray/) | [:white_check_mark:](largest_sum_contiguous_subarray/largestSumContiguousSubarray.c) | | [:white_check_mark:](largest_sum_contiguous_subarray/LargestSumContiguousSubarray.java) | [:white_check_mark:](largest_sum_contiguous_subarray/largest_sum_contiguous_subarray.py) | [:white_check_mark:](largest_sum_contiguous_subarray/largestSumContiguousSubarray.go) | |
29+
| [Largest Sum Contiguous Subarray](http://www.geeksforgeeks.org/largest-sum-contiguous-subarray/) | [:white_check_mark:](largest_sum_contiguous_subarray/largestSumContiguousSubarray.c) | | [:white_check_mark:](largest_sum_contiguous_subarray/LargestSumContiguousSubarray.java) | [:white_check_mark:](largest_sum_contiguous_subarray/largest_sum_contiguous_subarray.py) | [:white_check_mark:](largest_sum_contiguous_subarray/largestSumContiguousSubarray.go) | [:white_check_mark:](largest_sum_contiguous_subarray/largestSumContiguousSubarray.js) |
3030
| [Linear Regression](https://en.wikipedia.org/wiki/Linear_regression) | | | | [:white_check_mark:](linear_regression/linear_regression.py) | | |
3131
| [Linear Search](https://en.wikipedia.org/wiki/Linear_search) | [:white_check_mark:](linear_search/linear_search.c) | | [:white_check_mark:](linear_search/LinearSearch.java) | [:white_check_mark:](linear_search/linear_search.py) | [:white_check_mark:](linear_search/linear-search.go) | [:white_check_mark:](linear_search/linearSearch.js) |
3232
| [Longest Common Subsequence](http://www.geeksforgeeks.org/dynamic-programming-set-4-longest-common-subsequence) | [:white_check_mark:](longest_common_subsequence/longestCommonSubsequence.c) | | [:white_check_mark:](longest_common_subsequence/LongestCommonSubsequence.java) | [:white_check_mark:](longest_common_subsequence/longest_common_subsequence.py) | [:white_check_mark:](longest_common_subsequence/longestCommonSubsequence.go) | |
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
function largestSumContiguousSubarray (arr) {
2+
/*
3+
* Find the subarray with maximum sum from all subarrays.
4+
* :param arr: List of numbers to form subarray from.
5+
* :return: The maximum sum in all subarrays.
6+
*/
7+
let maxPrev = 0;
8+
let maxNow = 0;
9+
for (let x = 0; x < arr.length; x++) {
10+
maxNow += arr[x];
11+
maxPrev = Math.max(maxPrev, maxNow);
12+
maxNow = Math.max(0, maxNow);
13+
}
14+
return maxPrev;
15+
}
16+
17+
function main () {
18+
let arr = [-2, -3, 4, -1, -2, 1, 5, -3];
19+
console.log('Maximum contiguous sum is : ' + largestSumContiguousSubarray(arr));
20+
}
21+
22+
main();

0 commit comments

Comments
 (0)