题目: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
}