-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path6-peak.py
More file actions
executable file
·31 lines (27 loc) · 809 Bytes
/
Copy path6-peak.py
File metadata and controls
executable file
·31 lines (27 loc) · 809 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/python3
""" Finds the peak in a list of integers
"""
def find_peak(list_of_integers):
"""
Args:
list_of_integers(int): list of integers to find peak of
Returns: peak of list_of_integers or None
"""
size = len(list_of_integers)
mid_e = size
mid_e = size // 2
if size == 0:
return None
while True:
mid_e = mid_e // 2
if (mid < size - 1 and
list_of_integers[mid] < list_of_integers[mid + 1]):
if mid_e // 2 == 0:
mid_e = 2
mid = mid + mid_e // 2
elif mid_e > 0 and list_of_integers[mid] < list_of_integers[mid - 1]:
if mid_e // 2 == 0:
mid_e = 2
mid = mid - mid_e //2
else:
return list_of_integers[mid]