From e019513f0cd89f9cae042a50e413463294324d9e Mon Sep 17 00:00:00 2001 From: Ayush2004-bit Date: Sat, 18 Oct 2025 21:31:13 +0530 Subject: [PATCH] Create kadanes.cpp --- kadanes.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 kadanes.cpp diff --git a/kadanes.cpp b/kadanes.cpp new file mode 100644 index 0000000..f2132ce --- /dev/null +++ b/kadanes.cpp @@ -0,0 +1,27 @@ +#include +#include +#include // for INT_MIN +using namespace std; + +int kadane(vector& arr) { + int maxSum = INT_MIN; + int currentSum = 0; + + for (int i = 0; i < arr.size(); i++) { + currentSum += arr[i]; + maxSum = max(maxSum, currentSum); + + if (currentSum < 0) + currentSum = 0; // reset if sum goes negative + } + + return maxSum; +} + +int main() { + vector arr = {-2, 1, -3, 4, -1, 2, 1, -5, 4}; + + cout << "Maximum subarray sum is: " << kadane(arr) << endl; + + return 0; +}