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;
    }
}
相关推荐
2601_9499506327 分钟前
练题簿在线免费刷题 从资料整理到考前自测
面试·职场和发展·pdf·word·刷题
hetao17338371 小时前
2026-10-03~04 hetao1733837 的刷题记录
c++·算法
Zootopia6262 小时前
飞行力学知识梳理1|飞行性能与稳定性
人工智能·python·算法·机器学习·无人机·学习方法·信息与通信
longlongzihan2 小时前
从LeetCode 70. 爬楼梯看动态规划:如何精准推导状态转移方程?
c++·算法·leetcode·动态规划
2601_960356383 小时前
2027校招采购岗解析:数学基础如何迁移到需求预测、成本与供应商分析
人工智能·算法
h_a_o777oah4 小时前
【树论】树链剖分:将树形结构转化为线性结构以处理树上路径问题(洛谷 P3384 附C++代码模板)
数据结构·算法·线段树·acm·树链剖分·树论·重链剖分
HEJOO94 小时前
指针的算术运算详解
java·数据结构·算法
Coder-magician4 小时前
《代码随想录》刷题打卡day47:并查集-part01
数据结构·算法·图论
lsc_blog4 小时前
远程和居家办公的经历,技术简历上怎么摆
面试·职场和发展·重构·pdf·求职招聘
垆边人似月.4 小时前
VLAN 资源池(100~200 分档)
数据结构·算法