We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
publicstaticList<Integer>maxSubarray(List<Integer>arr){intmaxSubarraySum=Integer.MIN_VALUE;intcurrentSum=0;intmaxSubsequenceSum=0;booleanhasPositive=false;intmaxNegative=Integer.MIN_VALUE;for(intnum:arr){// Kadane's Algorithm for Maximum Subarray SumcurrentSum+=num;if(currentSum>maxSubarraySum){maxSubarraySum=currentSum;}if(currentSum<0){currentSum=0;}if(num>0){maxSubsequenceSum+=num;hasPositive=true;}if(num<0&&num>maxNegative){maxNegative=num;}}if(!hasPositive){maxSubsequenceSum=maxNegative;}returnArrays.asList(maxSubarraySum,maxSubsequenceSum);}}
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
The Maximum Subarray
You are viewing a single comment's thread. Return to all comments →
Java 8 Solution:-