feat: remove CalculateMaxOfMin
as it is implemented incorrectly
This commit is contained in:
parent
192427a5d2
commit
d91b004bb5
@ -1,42 +0,0 @@
|
|||||||
/**
|
|
||||||
* Author : Siddhant Swarup Mallick
|
|
||||||
* Github : https://github.com/siddhant2002
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Program description - Given an integer array. The task is to find the maximum of the minimum of
|
|
||||||
* the array
|
|
||||||
*/
|
|
||||||
package com.thealgorithms.stacks;
|
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
public class CalculateMaxOfMin {
|
|
||||||
|
|
||||||
public static int calculateMaxOfMin(int[] a) {
|
|
||||||
int n = a.length;
|
|
||||||
int[] ans = new int[n];
|
|
||||||
int[] arr2 = Arrays.copyOf(a, n);
|
|
||||||
Arrays.sort(arr2);
|
|
||||||
int maxNum = arr2[arr2.length - 1];
|
|
||||||
ans[0] = maxNum;
|
|
||||||
int index = 1;
|
|
||||||
while (index != ans.length) {
|
|
||||||
int[] minimums = new int[n - index];
|
|
||||||
for (int i = 0; i < n - index; i++) {
|
|
||||||
int[] windowArray = Arrays.copyOfRange(a, i, i + index + 1);
|
|
||||||
Arrays.sort(windowArray);
|
|
||||||
int minNum = windowArray[0];
|
|
||||||
minimums[i] = minNum;
|
|
||||||
}
|
|
||||||
Arrays.sort(minimums);
|
|
||||||
ans[index] = minimums[minimums.length - 1];
|
|
||||||
index += 1;
|
|
||||||
}
|
|
||||||
return ans[0];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Given an integer array. The task is to find the maximum of the minimum of the
|
|
||||||
* given array
|
|
||||||
*/
|
|
@ -1,57 +0,0 @@
|
|||||||
package com.thealgorithms.stacks;
|
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
|
|
||||||
public class CalculateMaxOfMinTest {
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testForOneElement() {
|
|
||||||
int[] a = {10, 20, 30, 50, 10, 70, 30};
|
|
||||||
int k = CalculateMaxOfMin.calculateMaxOfMin(a);
|
|
||||||
assertEquals(70, k);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testForTwoElements() {
|
|
||||||
int[] a = {5, 3, 2, 6, 3, 2, 6};
|
|
||||||
int k = CalculateMaxOfMin.calculateMaxOfMin(a);
|
|
||||||
assertEquals(6, k);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testForThreeElements() {
|
|
||||||
int[] a = {10, 10, 10, 10, 10, 10, 10};
|
|
||||||
int k = CalculateMaxOfMin.calculateMaxOfMin(a);
|
|
||||||
assertEquals(10, k);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testForFourElements() {
|
|
||||||
int[] a = {70, 60, 50, 40, 30, 20};
|
|
||||||
int k = CalculateMaxOfMin.calculateMaxOfMin(a);
|
|
||||||
assertEquals(70, k);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testForFiveElements() {
|
|
||||||
int[] a = {50};
|
|
||||||
int k = CalculateMaxOfMin.calculateMaxOfMin(a);
|
|
||||||
assertEquals(50, k);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testForSixElements() {
|
|
||||||
int[] a = {1, 4, 7, 9, 2, 4, 6};
|
|
||||||
int k = CalculateMaxOfMin.calculateMaxOfMin(a);
|
|
||||||
assertEquals(9, k);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testForSevenElements() {
|
|
||||||
int[] a = {-1, -5, -7, -9, -12, -14};
|
|
||||||
int k = CalculateMaxOfMin.calculateMaxOfMin(a);
|
|
||||||
assertEquals(-1, k);
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user