From c2b71c2d33e68332f183c6633f01a8d7c49a0ad7 Mon Sep 17 00:00:00 2001 From: chirag d Date: Sun, 8 Dec 2019 18:47:23 +0530 Subject: [PATCH] BAEL3455 Max subarray problem --- .../BruteForceAlgorithm.java | 9 +++++++-- .../maximum => maximumsubarray}/KadaneAlgorithm.java | 9 +++++++-- .../BruteForceAlgorithmTest.java} | 9 ++------- .../KadaneAlgorithmTest.java} | 10 +++------- 4 files changed, 19 insertions(+), 18 deletions(-) rename algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/{subarray/maximum => maximumsubarray}/BruteForceAlgorithm.java (71%) rename algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/{subarray/maximum => maximumsubarray}/KadaneAlgorithm.java (68%) rename algorithms-miscellaneous-5/src/test/java/com/baeldung/algorithms/{subarray/maximum/BruteForceAlgorithmUnitTest.java => maximumsubarray/BruteForceAlgorithmTest.java} (77%) rename algorithms-miscellaneous-5/src/test/java/com/baeldung/algorithms/{subarray/maximum/KadaneAlgorithmUnitTest.java => maximumsubarray/KadaneAlgorithmTest.java} (73%) diff --git a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/subarray/maximum/BruteForceAlgorithm.java b/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/maximumsubarray/BruteForceAlgorithm.java similarity index 71% rename from algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/subarray/maximum/BruteForceAlgorithm.java rename to algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/maximumsubarray/BruteForceAlgorithm.java index fcf404af88..932ded5018 100644 --- a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/subarray/maximum/BruteForceAlgorithm.java +++ b/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/maximumsubarray/BruteForceAlgorithm.java @@ -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 { + private Logger logger = LoggerFactory.getLogger(BruteForceAlgorithm.class.getName()); + public int maxSubArray(int[] arr) { 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; } diff --git a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/subarray/maximum/KadaneAlgorithm.java b/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/maximumsubarray/KadaneAlgorithm.java similarity index 68% rename from algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/subarray/maximum/KadaneAlgorithm.java rename to algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/maximumsubarray/KadaneAlgorithm.java index 98b121108c..0aaa1b6c23 100644 --- a/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/subarray/maximum/KadaneAlgorithm.java +++ b/algorithms-miscellaneous-5/src/main/java/com/baeldung/algorithms/maximumsubarray/KadaneAlgorithm.java @@ -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 { + private Logger logger = LoggerFactory.getLogger(BruteForceAlgorithm.class.getName()); + public int maxSubArraySum(int[] arr) { int size = arr.length; @@ -23,7 +28,7 @@ public class KadaneAlgorithm { end = i; } } - System.out.println("Found Maximum Subarray between " + start + " and " + end); + logger.info("Found Maximum Subarray between {} and {}", start, end); return maxSoFar; } } diff --git a/algorithms-miscellaneous-5/src/test/java/com/baeldung/algorithms/subarray/maximum/BruteForceAlgorithmUnitTest.java b/algorithms-miscellaneous-5/src/test/java/com/baeldung/algorithms/maximumsubarray/BruteForceAlgorithmTest.java similarity index 77% rename from algorithms-miscellaneous-5/src/test/java/com/baeldung/algorithms/subarray/maximum/BruteForceAlgorithmUnitTest.java rename to algorithms-miscellaneous-5/src/test/java/com/baeldung/algorithms/maximumsubarray/BruteForceAlgorithmTest.java index 3a66c6b5d6..9359a8eea8 100644 --- a/algorithms-miscellaneous-5/src/test/java/com/baeldung/algorithms/subarray/maximum/BruteForceAlgorithmUnitTest.java +++ b/algorithms-miscellaneous-5/src/test/java/com/baeldung/algorithms/maximumsubarray/BruteForceAlgorithmTest.java @@ -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 static org.junit.jupiter.api.Assertions.assertEquals; -class BruteForceAlgorithmUnitTest { +class BruteForceAlgorithmTest { @Test void givenArrayWithNegativeNumberWhenMaximumSubarrayThenReturns6() { //given int[] arr = new int[]{-3, 1, -8, 4, -1, 2, 1, -5, 5}; - //when BruteForceAlgorithm algorithm = new BruteForceAlgorithm(); int maximumSum = algorithm.maxSubArray(arr); - //then assertEquals(6, maximumSum); - } - } \ No newline at end of file diff --git a/algorithms-miscellaneous-5/src/test/java/com/baeldung/algorithms/subarray/maximum/KadaneAlgorithmUnitTest.java b/algorithms-miscellaneous-5/src/test/java/com/baeldung/algorithms/maximumsubarray/KadaneAlgorithmTest.java similarity index 73% rename from algorithms-miscellaneous-5/src/test/java/com/baeldung/algorithms/subarray/maximum/KadaneAlgorithmUnitTest.java rename to algorithms-miscellaneous-5/src/test/java/com/baeldung/algorithms/maximumsubarray/KadaneAlgorithmTest.java index 38afa5c871..2320131dd0 100644 --- a/algorithms-miscellaneous-5/src/test/java/com/baeldung/algorithms/subarray/maximum/KadaneAlgorithmUnitTest.java +++ b/algorithms-miscellaneous-5/src/test/java/com/baeldung/algorithms/maximumsubarray/KadaneAlgorithmTest.java @@ -1,23 +1,19 @@ -package com.baeldung.algorithms.subarray.maximum; +package com.baeldung.algorithms.maximumsubarray; 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 void givenArrayWithNegativeNumberWhenMaximumSubarrayThenReturns6() { //given int[] arr = new int[]{-3, 1, -8, 4, -1, 2, 1, -5, 5}; - //when KadaneAlgorithm algorithm = new KadaneAlgorithm(); int maxSum = algorithm.maxSubArraySum(arr); - //then assertEquals(6, maxSum); - } - } \ No newline at end of file