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