Эта проблема является частью внедрения в структуру данных развлечения с массивами – 101. Подзаголовок раздела ищет элементы в массиве.
Постановка задачи
Учитывая массив целых чисел, верните True, если и только если это действительный горной массив.
Наблюдения
- Элементы должны быть строго увеличены. Затем возникает пик, а затем устойчивое снижение.
- В массиве не может быть несколько горных вершин. Следовательно, если существует пик. Шаблон будет как упоминаться в пункте 1 выше.
- Минимальное количество элементов в массиве для горного пика для существования будет 3.
Подход решения
- Во-первых, проверьте длину массива. Только если оно больше 3. Затем проверьте следующие условия.
- Найти пик. Пик будет точкой, после которой значение элементов строго начинает строго уменьшаться.
- Будьте осторожны с позицией начать и заканчиваться в последующих петлях.
class Solution: def validMountainArray(self, A: List[int]) -> bool: result = False if len(A) >= 3: for x in range(0, len(A)-1): if A[x+1] > A[x]: result = True else: break if result: for index in range(x, len(A)-1): if (A[index+1] < A[index]): result = True else: result = False break return result
Учащиеся
- Сложность времени – O (n)
- Решить несколько сценариев, используя ручку и бумагу сначала. Тогда код.:)
Оригинал: “https://dev.to/mridubhatnagar/day-9-valid-mountain-array-8o0”