From 4e2d751179c420b2996183091f0481360a5ff6ce Mon Sep 17 00:00:00 2001
From: sundaram123krishnan <krishnsundaram@gmail.com>
Date: Sun, 16 Apr 2023 18:34:53 +0530
Subject: [PATCH 1/5] added implementatin of kadane's algorithm

---
 .../kadane's algorithm/kadane_algo.js          | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js

diff --git a/src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js b/src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js
new file mode 100644
index 0000000000..e922b4f5d5
--- /dev/null
+++ b/src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js	
@@ -0,0 +1,18 @@
+/**
+ * Simplest Kadane's algorithm implementation.
+ *
+ * @param {*[]} array
+ * @return {number[]}
+ */
+
+export default function kadane() {
+  let current_sum = array[0];
+  let maximum_subarray_sum = array[0];
+
+  for (let i = 0; i < array.length; i++) {
+    current_sum = max(current_sum + array[i], array[i]);
+    maximum_subarray_sum = max(maximum_subarray_sum, current_sum);
+  }
+
+  return maximum_subarray_sum;
+}

From 5bd5f80c7812c8527163b2c6283c72b54822600a Mon Sep 17 00:00:00 2001
From: sundaram123krishnan <krishnsundaram@gmail.com>
Date: Sun, 16 Apr 2023 18:47:01 +0530
Subject: [PATCH 2/5] fixed an error in max function

---
 .../uncategorized/kadane's algorithm/kadane_algo.js           | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js b/src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js
index e922b4f5d5..0b878d02f8 100644
--- a/src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js	
+++ b/src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js	
@@ -10,8 +10,8 @@ export default function kadane() {
   let maximum_subarray_sum = array[0];
 
   for (let i = 0; i < array.length; i++) {
-    current_sum = max(current_sum + array[i], array[i]);
-    maximum_subarray_sum = max(maximum_subarray_sum, current_sum);
+    current_sum = Math.max(current_sum + array[i], array[i]);
+    maximum_subarray_sum = Math.max(maximum_subarray_sum, current_sum);
   }
 
   return maximum_subarray_sum;

From d64102563dca097d9e1ea36b3681d4aea9d62e45 Mon Sep 17 00:00:00 2001
From: sundaram123krishnan <krishnsundaram@gmail.com>
Date: Sun, 16 Apr 2023 18:50:48 +0530
Subject: [PATCH 3/5] the search goes from 1 to array.length

---
 src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js b/src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js
index 0b878d02f8..c45b88c62f 100644
--- a/src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js	
+++ b/src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js	
@@ -9,7 +9,7 @@ export default function kadane() {
   let current_sum = array[0];
   let maximum_subarray_sum = array[0];
 
-  for (let i = 0; i < array.length; i++) {
+  for (let i = 1; i < array.length; i++) {
     current_sum = Math.max(current_sum + array[i], array[i]);
     maximum_subarray_sum = Math.max(maximum_subarray_sum, current_sum);
   }

From b51df2bc1201b99d28dc73bb561d75cef750fe3e Mon Sep 17 00:00:00 2001
From: sundaram123krishnan <krishnsundaram@gmail.com>
Date: Sun, 16 Apr 2023 19:02:15 +0530
Subject: [PATCH 4/5] added explanations

---
 .../kadane's algorithm/kadane_algo.js              | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js b/src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js
index c45b88c62f..af781f7575 100644
--- a/src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js	
+++ b/src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js	
@@ -6,11 +6,25 @@
  */
 
 export default function kadane() {
+
+
+
+  // This algorithm works for both positive and negative values of the array
+
   let current_sum = array[0];
   let maximum_subarray_sum = array[0];
 
   for (let i = 1; i < array.length; i++) {
+    
+    /*
+     * Continue the subarray sum or start a new
+     * subarray sum beginning at the current element.
+    */
+
     current_sum = Math.max(current_sum + array[i], array[i]);
+
+    // Stores the maximum subarray sum at each iteration.
+
     maximum_subarray_sum = Math.max(maximum_subarray_sum, current_sum);
   }
 

From 65ecad80af70b9dd8847dbce5a168d9566f47b79 Mon Sep 17 00:00:00 2001
From: sundaram123krishnan <krishnsundaram@gmail.com>
Date: Sun, 16 Apr 2023 23:06:14 +0530
Subject: [PATCH 5/5] Fixed function parameters

---
 src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js b/src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js
index af781f7575..abdebcf7bb 100644
--- a/src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js	
+++ b/src/algorithms/uncategorized/kadane's algorithm/kadane_algo.js	
@@ -5,9 +5,10 @@
  * @return {number[]}
  */
 
-export default function kadane() {
 
 
+export default function Kadane(array) {
+
 
   // This algorithm works for both positive and negative values of the array