BAEL3455 Max subarray problem

This commit is contained in:
chirag d 2019-12-08 18:47:23 +05:30
parent 9a8aadf125
commit c2b71c2d33
4 changed files with 19 additions and 18 deletions

View File

@ -1,7 +1,12 @@
package com.baeldung.algorithms.subarray.maximum; package com.baeldung.algorithms.maximumsubarray;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class BruteForceAlgorithm { public class BruteForceAlgorithm {
private Logger logger = LoggerFactory.getLogger(BruteForceAlgorithm.class.getName());
public int maxSubArray(int[] arr) { public int maxSubArray(int[] arr) {
int size = arr.length; int size = arr.length;
@ -23,7 +28,7 @@ public class BruteForceAlgorithm {
} }
} }
} }
System.out.println("Found Maximum Subarray between " + start + " and " + end); logger.info("Found Maximum Subarray between {} and {}", start, end);
return maximumSubArraySum; return maximumSubArraySum;
} }

View File

@ -1,7 +1,12 @@
package com.baeldung.algorithms.subarray.maximum; package com.baeldung.algorithms.maximumsubarray;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class KadaneAlgorithm { public class KadaneAlgorithm {
private Logger logger = LoggerFactory.getLogger(BruteForceAlgorithm.class.getName());
public int maxSubArraySum(int[] arr) { public int maxSubArraySum(int[] arr) {
int size = arr.length; int size = arr.length;
@ -23,7 +28,7 @@ public class KadaneAlgorithm {
end = i; end = i;
} }
} }
System.out.println("Found Maximum Subarray between " + start + " and " + end); logger.info("Found Maximum Subarray between {} and {}", start, end);
return maxSoFar; return maxSoFar;
} }
} }

View File

@ -1,24 +1,19 @@
package com.baeldung.algorithms.subarray.maximum; package com.baeldung.algorithms.maximumsubarray;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertEquals;
class BruteForceAlgorithmUnitTest { class BruteForceAlgorithmTest {
@Test @Test
void givenArrayWithNegativeNumberWhenMaximumSubarrayThenReturns6() { void givenArrayWithNegativeNumberWhenMaximumSubarrayThenReturns6() {
//given //given
int[] arr = new int[]{-3, 1, -8, 4, -1, 2, 1, -5, 5}; int[] arr = new int[]{-3, 1, -8, 4, -1, 2, 1, -5, 5};
//when //when
BruteForceAlgorithm algorithm = new BruteForceAlgorithm(); BruteForceAlgorithm algorithm = new BruteForceAlgorithm();
int maximumSum = algorithm.maxSubArray(arr); int maximumSum = algorithm.maxSubArray(arr);
//then //then
assertEquals(6, maximumSum); assertEquals(6, maximumSum);
} }
} }

View File

@ -1,23 +1,19 @@
package com.baeldung.algorithms.subarray.maximum; package com.baeldung.algorithms.maximumsubarray;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.assertEquals;
class KadaneAlgorithmUnitTest { class KadaneAlgorithmTest {
@Test @Test
void givenArrayWithNegativeNumberWhenMaximumSubarrayThenReturns6() { void givenArrayWithNegativeNumberWhenMaximumSubarrayThenReturns6() {
//given //given
int[] arr = new int[]{-3, 1, -8, 4, -1, 2, 1, -5, 5}; int[] arr = new int[]{-3, 1, -8, 4, -1, 2, 1, -5, 5};
//when //when
KadaneAlgorithm algorithm = new KadaneAlgorithm(); KadaneAlgorithm algorithm = new KadaneAlgorithm();
int maxSum = algorithm.maxSubArraySum(arr); int maxSum = algorithm.maxSubArraySum(arr);
//then //then
assertEquals(6, maxSum); assertEquals(6, maxSum);
} }
} }