Поскольку 89 больше, я думаю, вы хотите локальный максимум самой длинной неубывающей подпоследовательности в массиве. Проблема не очень хорошо сформулирована, поэтому, вероятно, нет домашней работы.
array: 12 87 3 10 55 69 40
sequences: 12 87
3 10 55 *69* answer
40
int maxOfLongestSubsequence(int[] a) {
int maxSeqLength = 0;
int max = Integer.MIN_VALUE;
int seqStart = -1;
for (int i = 0; i <= a.length; ++i) {
if (i == 0 || i == a.length - 1 || a[i] < a[i - 1]) { // New subsequence
int seqLength = i - seqStart;
if (i - seqLength > maxSeqLength) {
maxSeqLength = seqLength;
max = a[i - 1];
}
seqStart = i;
}
}
return max;
}
Сформулируйте проблему. Изобразите данные, как я сделал. И запрограммируйте это.