Skip to content

Commit b6f944e

Browse files
committed
Next Greater Element
1 parent e5a5c94 commit b6f944e

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
class ArithmeticProgressionSearch:
2+
def solution(self,a):
3+
low = 0
4+
high = len(a) - 1
5+
middle = -1
6+
ap = (a[high] - a[low]) / len(a)
7+
while low <= high:
8+
middle = (int)((low + high) / 2)
9+
if a[middle] == a[0] + middle * ap:
10+
low = middle + 1
11+
elif a[middle] > a[0] + middle * ap and a[middle - 1] == a[0] + (middle - 1) * ap:
12+
return a[0] + middle * ap
13+
else:
14+
high = middle - 1
15+
return -1
16+
17+
18+
p = ArithmeticProgressionSearch()
19+
arr = [1, 3, 5, 7, 9, 13]
20+
result = p.solution(arr)
21+
print(result)

0 commit comments

Comments
 (0)