Программа Javascript для кратчайшего неупорядоченного подмассива

Опубликовано: 2 Сентября, 2022

Дан массив длины n, и проблема в том, что нам нужно найти длину кратчайшего неупорядоченного {ни возрастающего, ни убывающего} подмассива в заданном массиве.
Примеры:

Input : n = 5
        7 9 10 8 11
Output : 3
Explanation : 9 10 8 unordered sub array.

Input : n = 5
       1 2 3 4 5
Output : 0 
Explanation :  Array is in increasing order.

Идея основана на том факте, что размер кратчайшего подмассива будет либо 0, либо 3. Мы должны проверить, увеличивается или уменьшается элемент массива, если все элементы массива увеличиваются или уменьшаются, то длина кратчайшего подмассива равна 0, И если какой-либо элемент массива не следует за увеличением или уменьшением, то его самая короткая длина равна 3.

Временная сложность: O(n), где n — длина массива.

Вспомогательное пространство: O(1)

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