Problem Statement
leetcode problem link
Brute Force [Accepted]
class Solution:
def maxAdjacentDistance(self, nums: List[int]) -> int:
N = len(nums)
res = 0
for i in range(N):
idx = i
next_idx = i + 1
for j in range(N):
idx = (idx + j) % N
next_idx = (next_idx + j) % N
curr = nums[idx]
next_val = nums[next_idx]
res = max(res, abs(next_val - curr))
return res
Editorial
Approach: Traversal
class Solution:
def maxAdjacentDistance(self, nums: List[int]) -> int:
n = len(nums)
res = abs(nums[0] - nums[n - 1])
for i in range(n - 1):
res = max(res, abs(nums[i] - nums[i + 1]))
return res