Почему не работает функция по проверке последовательности

255
21 марта 2017, 13:29

Есть Задача:
Написать функцию, которая на входе принимает массив из целых чисел и определяет возможно ли получить ряд чисел, выстроенных по возрастанию, удалив из данного массива максимум один элемент (без дополнительной сортировки).

Пример:

  • Для числового ряда [1, 3, 2, 1], функция вернет false, поскольку в данном случае при удалении любого числа, оставшиеся числа не будут расположены по возрастанию
  • Для числового ряда [1, 3, 2], функция вернет true, поскольку в данном случае при удалении 3 или 2, оставшиеся числа будут расположены по возрастанию: [1,2] или [1,3] соответственно.

Вот примерное решение

function a(arr) { 
    for (var i = 0; i < arr.length; i++) { 
        arr.splice(i, 1); 
        if (compare(arr)) { 
            return true; 
        } 
    } 
    function compare(array) { 
        for (var j = 0; j < array.length; j++) { 
            if (array[j] > array[j + 1]) { 
                return false; 
            } 
        } 
        return true; 
    } 
    return false; 
}

Но при массиве, скажем [1, 1, 1] возвращает true или при других явно не правильных последовательностях тоже true
Здесь false, хотя должно быть true [3, 6, 8, 1]

подаскажите, где может быть ошибка
Спасибо

READ ALSO
Как определить реальные координаты x и y, ширину и высоту у DIV, даже если они не заданы стилями

Как определить реальные координаты x и y, ширину и высоту у DIV, даже если они не заданы стилями

Как определить реальные координаты x и y, ширину и высоту у элемента DIV, даже если они не заданы стилями?

225
Проблема с Angular2 Material dialog

Проблема с Angular2 Material dialog

Возникла проблема при добавлении компонента модального окна в angular 2Окно создается, но не диалоговое

344
gotoandstop easing

gotoandstop easing

как в js возжожно реализовать покадровое замедление/ускорение анимации(easing), для остановленной временной шкалы? не постепенную отрисовку...

274
Как передать ID строки в модал?

Как передать ID строки в модал?

У меня есть таблица, заполняю из Базы данныхУ каждой строки есть кнопка Edit, которая открывает модальную форму

301