diff --git a/Arrays/Kadanes_Algorithm.cpp b/Arrays/Kadanes_Algorithm.cpp new file mode 100644 index 0000000..d9dc0ae --- /dev/null +++ b/Arrays/Kadanes_Algorithm.cpp @@ -0,0 +1,59 @@ +#include +using namespace std; + +vector subarray(vector &nums){ + + vector ans; + int left = 0; + int right = 0; + int l1 = 0; + int r1 = 0; + int meh = 0; + int msf = INT_MIN; + + for(int i=0; i= meh + nums[i]){ + meh = nums[i]; + l1 = i; + r1 = i; + } + else{ + meh = meh + nums[i]; + r1 = i; + } + + if(meh >= msf){ + msf = meh; + left = l1; + right = r1; + } + } + + cout<<"The starting index is : "< nums {5,4,-1,7,8}; + cout< max_sum = subarray(nums); + cout<<"The subarray is : "; + for(int i=0; i