less than 1 minute read

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