Сложность: medium
Вам дан целочисленный массив горы arr длины n, где значения увеличиваются до пикового элемента, а затем уменьшаются.
Верните индекс пикового элемента.
Ваша задача — решить это с временной сложностью O(log(n)).
Пример:
Input: arr = [0,1,0]
Output: 1
👨💻 Алгоритм:
1⃣Создайте целочисленную переменную i и инициализируйте её значением 0.
2⃣Используя цикл while, проверьте, если текущий элемент, на который указывает i, меньше следующего элемента на индексе i + 1. Если arr[i] < arr[i + 1], увеличьте i на 1.
3⃣В противном случае, если arr[i] > arr[i + 1], верните i.
😎 Решение:
var peakIndexInMountainArray = function(arr) {
let i = 0
while (arr[i] < arr[i + 1]) {
i++
}
return i
}Ставь 👍 и забирай 📚 Базу знаний