2
# This is MountainArray's API interface.3
# You should not implement it, or speculate about its implementation6
# def get(self, index: int) -> int:7
# def length(self) -> int:11
def findInMountainArray(self, target: int, mountain_arr: "MountainArray") -> int:13
peak = self.findpeak(mountain_arr)15
min_index = self.binary_search(0, peak, mountain_arr, target, 1)17
min_index = self.binary_search(18
peak + 1, mountain_arr.length() - 1, mountain_arr, target, -122
def findpeak(self, mountain_arr):24
end = mountain_arr.length() - 126
mid = start + int((end - start) / 2)27
if mountain_arr.get(mid) < mountain_arr.get(mid + 1):34
def binary_search(self, start, end, mountain_arr, target, asc):36
mid = start + int((end - start) / 2)37
mountain_arr_get_mid = mountain_arr.get(mid)38
if target == mountain_arr_get_mid:41
if target < mountain_arr_get_mid:43
elif target > mountain_arr_get_mid:46
if target < mountain_arr_get_mid:48
elif target > mountain_arr_get_mid: