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

示例如下:

复制代码
输入:nums = [1,2,4]

输出:3

解释:

由于 nums 是循环的,nums[0] 和 nums[2] 是相邻的,它们之间的绝对差值是最大值 |4 - 1| = 3。

其实就是把该数组相像成一个闭环的圈形数组,首尾相连,那么我们只需要分类讨论即可,第一点是当遍历头节点i=0时,其左节点是i=n-1,其右节点是i=1,第二点是当遍历尾节点i=n-1时,其左节点是i=n-2,右节点是i=0,第三点是正常遍历i,其左节点是i-1,右节点是i+1,所以代码如下

复制代码
class Solution {
    public int maxAdjacentDistance(int[] nums) {
        int n = nums.length;
        int l=0;
        int r=0;
        int max = 0;
        int ans = 0;
        for(int i=0;i<n;i++){
            if(i==0){
                l=n-1;
                r=1;
            }
            else if(i==n-1){
                l=n-2;
                r=0;
            }
            else{
                l=i-1;
                r=i+1;
            }
            max = Math.max(Math.abs(nums[l]-nums[i]),Math.abs(nums[r]-nums[i]));
            ans = Math.max(max,ans);
        }
        return ans;
    }
}
相关推荐
水水不水啊10 小时前
通过一个域名,借助IPV6免费远程访问自己家里的设备
前端·python·算法
.格子衫.10 小时前
027动态规划之矩阵DP——算法备赛
算法·矩阵·动态规划
nju_spy10 小时前
力扣每日一题(11.10-11.29)0-1 和 k 整除系列
python·算法·leetcode·前缀和·单调栈·最大公约数·0-1背包
roman_日积跬步-终至千里10 小时前
【模式识别与机器学习(8)】主要算法与技术(下篇:高级模型与集成方法)之 元学习
学习·算法·机器学习
haing201910 小时前
Bezier曲线曲率极值的计算方法
人工智能·算法·机器学习·曲率极值
歌_顿10 小时前
深度学习算法以及优化器复习
人工智能·算法
Zero不爱吃饭10 小时前
位1的个数
算法
爱思德学术10 小时前
中国计算机学会(CCF)推荐学术会议-C(计算机体系结构/并行与分布计算/存储系统):CF 2026
人工智能·算法·硬件
大工mike11 小时前
代码随想录算法训练营第三十三天 | 322. 零钱兑换 279.完全平方数 139.单词拆分
算法
liulilittle11 小时前
C++ 17 字符串填充函数(PaddingLeft、PaddingRight)填充左侧、右侧。
c++·算法