(LeetCode 每日一题) 3423. 循环数组中相邻元素的最大差值 (数组)

题目:3423. 循环数组中相邻元素的最大差值

思路:枚举所有节点,计算最大相邻节点的差值。时间复杂度0(n)。

C++版本:

cpp 复制代码
class Solution {
public:
    int maxAdjacentDistance(vector<int>& nums) {
        int n=nums.size();
        int mx=abs(nums[0]-nums[n-1]);
        for(int i=1;i<n;i++){
            mx=max(mx,abs(nums[i]-nums[i-1]));
        }
        return mx;
    }
};

JAVA版本:

java 复制代码
class Solution {
    public int maxAdjacentDistance(int[] nums) {
        int n=nums.length;
        int mx=Math.abs(nums[0]-nums[n-1]);
        for(int i=1;i<n;i++){
            mx=Math.max(mx,Math.abs(nums[i]-nums[i-1]));
        }
        return mx;
    }
}

Go版本:

go 复制代码
func maxAdjacentDistance(nums []int) int {
    n:=len(nums)
    mx:=abs(nums[0],nums[n-1])
    for i:=1;i<n;i++ {
        mx=max(mx,abs(nums[i],nums[i-1]))
    }
    return mx
}
func abs(a,b int) int {
    if a-b < 0 {
        return b-a
    }
    return a-b
}