mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-07-27 22:43:30 +08:00
Implement Maximum Sum of Non-Adjacent Elements (#5544)
This commit is contained in:

committed by
GitHub

parent
c152c38d1b
commit
44b0fc9408
@ -0,0 +1,52 @@
|
||||
package com.thealgorithms.dynamicprogramming;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class MaximumSumOfNonAdjacentElementsTest {
|
||||
|
||||
// Tests for Approach1
|
||||
@Test
|
||||
public void testGetMaxSumApproach1WithEmptyArray() {
|
||||
assertEquals(0, MaximumSumOfNonAdjacentElements.getMaxSumApproach1(new int[] {})); // Empty array
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetMaxSumApproach1WithSingleElement() {
|
||||
assertEquals(1, MaximumSumOfNonAdjacentElements.getMaxSumApproach1(new int[] {1})); // Single element
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetMaxSumApproach1WithTwoElementsTakeMax() {
|
||||
assertEquals(2, MaximumSumOfNonAdjacentElements.getMaxSumApproach1(new int[] {1, 2})); // Take max of both
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetMaxSumApproach1WithMultipleElements() {
|
||||
assertEquals(15, MaximumSumOfNonAdjacentElements.getMaxSumApproach1(new int[] {3, 2, 5, 10, 7})); // 3 + 7 + 5
|
||||
assertEquals(10, MaximumSumOfNonAdjacentElements.getMaxSumApproach1(new int[] {5, 1, 1, 5})); // 5 + 5
|
||||
}
|
||||
|
||||
// Tests for Approach2
|
||||
@Test
|
||||
public void testGetMaxSumApproach2WithEmptyArray() {
|
||||
assertEquals(0, MaximumSumOfNonAdjacentElements.getMaxSumApproach2(new int[] {})); // Empty array
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetMaxSumApproach2WithSingleElement() {
|
||||
assertEquals(1, MaximumSumOfNonAdjacentElements.getMaxSumApproach2(new int[] {1})); // Single element
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetMaxSumApproach2WithTwoElementsTakeMax() {
|
||||
assertEquals(2, MaximumSumOfNonAdjacentElements.getMaxSumApproach2(new int[] {1, 2})); // Take max of both
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetMaxSumApproach2WithMultipleElements() {
|
||||
assertEquals(15, MaximumSumOfNonAdjacentElements.getMaxSumApproach2(new int[] {3, 2, 5, 10, 7})); // 3 + 7 + 5
|
||||
assertEquals(10, MaximumSumOfNonAdjacentElements.getMaxSumApproach2(new int[] {5, 1, 1, 5})); // 5 + 5
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user