Cześć mam pewne zadanie do wykonania:
Wyszukaj w tablicy lokalnych wartości maksymalnych i je usuń.
Przykładowa tablica:
array = new int[]{-3, 2, 4, 13, 5, 12, 8};
i tablica, której będziemy oczekiwali na wyjściu:
expected = new int[]{-3, 2, 4, 5, 8};
I pomysł mam na to taki:
Wskoczyć na pierwszy element tablicy (2) i porównywać go z wcześniejszym, jeżeli jest większy to okej sprawdzamy z następnym i jeżeli jest większy od następnego to go usuwamy. Sprawdzamy z następnym i tak do końca tablicy. Tylko nie potrafię tego napisać.
import java.util.Arrays;
public class LocalMaximaRemove {
public static void main(String[] args) {
int[] array = new int[]{18, 1, 3, 6, 7, -5};
System.out.println(Arrays.toString(removeLocalMaxima(array)));
}
public static int[] removeLocalMaxima(int[] array){
int j, n;
int start = array[0];
int max = array[1];
int[] result = new int[]{};
int temp = array[n - 1];
for (int i = 1; i < array.length; i++) {
result = array[i - 1];
}
return result;
}
}