Для назначения в колледж мне нужно посмотреть, есть ли в массиве каждый номер ниже предыдущего. Если число в массиве - 142, мне нужно пропустить это число и проверить следующее. Мой текущий код, который работает примерно для 90% тестовых случаев, таков:
boolean decreasingExcept2(int[] nums) {
boolean decending = true;
for (int i = 0; i < nums.length - 1; ++i) {
if ((nums[i] != 142) && (nums[i + 1] != 142) && (nums[i] <= nums[i + 1])) {
decending = false;
}
}
return decending;
}
Проблема возникает из тестовых случаев, когда между двумя числами существует 142, которые должны сделать тестовый случай ложным. Этот код оставляет такие массивы истинными. Таким образом, массивы типа [3, 142, 4] или [3, 142, 142, 3, 0] отправляются обратно в true, когда они ложны. Как мне получить его для сравнения чисел, разделенных 142?