Jump Game V LeetCode solution in Python

1
class Solution:
2
def maxJumps(self, arr: List[int], d: int) -> int:
3
n = len(arr)
4
sorted_arr = []
5
for i in range(n):
6
sorted_arr.append((arr[i], i))
7
sorted_arr.sort(reverse=True)
8
depth = [1 for i in range(n)]
9
while sorted_arr:
10
val, i = sorted_arr.pop()
11
for j in range(i - 1, max(-1, i - d - 1), -1):
12
if arr[j] >= arr[i]:
13
break
14
depth[i] = max(depth[j] + 1, depth[i])
15
for j in range(i + 1, min(n, i + d + 1)):
16
if arr[j] >= arr[i]:
17
break
18
depth[i] = max(depth[j] + 1, depth[i])
19
return max(depth)

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0