Правила[Одномерные массивы]29. Дана последовательность целых чисел a1, a2, ..., аn. Образовать новую последовательность, выбросив из исходной те члены, которые равны min(a1, a2, ..., аn).
public static int[] deleteMinValue(int[] array) {
if (array.length == 0) {
throw new IllegalArgumentException("Массив нулевой длины!");
}
int minCount = 0;
int min = array[0];
for (int i = 1; i < array.length; i++) {
if (array[i] <= min) {
min = array[i];
}
}
for (int value : array) {
if (value == min) {
minCount++;
}
}
int[] result = new int[array.length - minCount];
int indexResult = 0;
for (int i = 0; i < array.length; i++) {
if (array[i] != min) {
result[indexResult] = array[i];
indexResult++;
}
}
return result;
}
public static ArrayList<Integer> removeMinimals (ArrayList<Integer> array)
{
ArrayList<Integer> arrayFiltered = new ArrayList<Integer>();
//when given list is empty or contains only 1 member, we return empty list
//in other cases, we find minimum within given list return new list
//of non-minimum members
if (array.size() > 1)
{
int minimum = array.get(0);
//find minimum within given array
for (int member : array)
if (minimum > member)
minimum = member;
//add all non-minimal values to the returning list
for (int member : array)
{
if (member != minimum)
{
arrayFiltered.add(member);
}
}
}
return arrayFiltered;
}
public static double[] removeMinimums(double[] arr) {
// amount of minimums
int count = 0;
double min = Double.MAX_VALUE;
// find minimum in arr and count its occurrences
for (double d : arr) {
if (d < min) {
count = 1;
min = d;
}
else if (d == min) {
count++;
}
}
// declare new array with length of arr without its minimums
// and fill it with arr's members except the minimums
int i = 0;
double[] res = new double[arr.length - count];
for (double d : arr) {
if (d > min) {
res[i++] = d;
}
}
return res;
}
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ