当前位置: 首页 > news >正文

循环数组中相邻元素的最大差值

文章目录

    • 题目
    • 思路
    • python代码
    • 复杂度

题目

给你一个 循环 数组 nums ,请你找出相邻元素之间的 最大 绝对差值。

注意:一个循环数组中,第一个元素和最后一个元素是相邻的。

提示:

  • 2 <= nums.length <= 100
  • -100 <= nums[i] <= 100
示例 1:
输入:nums = [1,2,4]
输出:3
解释:
由于 nums 是循环的,nums[0] 和 nums[2] 是相邻的,它们之间的绝对差值是最大值 |4 - 1| = 3 。示例 2:
输入:nums = [-5,-10,-5]
输出:5
解释:
相邻元素 nums[0] 和 nums[1] 之间的绝对差值为最大值 |-5 - (-10)| = 5 。

思路

1、先取首尾数字的绝对值
2、从下标为1的元素开始遍历,与前一个元素作差取绝对值,更新最大值;

python代码

class Solution:def maxAdjacentDistance(self, nums: List[int]) -> int:n = len(nums)max_diff = abs(nums[0] - nums[n - 1])for i in range(1, n):max_diff = max(max_diff, abs(nums[i] - nums[i - 1]))return max_diff

复杂度

  • 时间复杂度O(N),N为数组长度
  • 空间复杂度O(1)

相关文章:

  • java BIO/NIO/AIO
  • 【unitrix】 1.3 Cargo.toml 文件解析
  • SM3算法Python实现(无第三方库)
  • 【GitOps】Kubernetes安装ArgoCD,使用阿里云MSE云原生网关暴露服务
  • 山东大学《Web数据管理》期末复习宝典【万字解析!】
  • HarmonyOS运动开发:打造便捷的静态快捷菜单
  • ArkUI-X在Android上使用Fragment开发指南
  • ThreadLocal原理及内存泄漏分析
  • 【从零学习JVM|第八篇】深入探寻堆内存
  • Android 开发中,Intent 和 Bundle 组件间传递数据的几种方式
  • RedHat主机配置日志留存策略:从4周延长至6个月
  • FramePack 与其他视频生成工具的横向对比:优势、短板与差异化竞争
  • GitHub 上 PAT 和 SSH 的 7 个主要区别:您应该选择哪一个?
  • DAY 52 神经网络调参指南
  • 小白讲强化学习:从零开始的4x4网格世界探索
  • C/C++内存分布和管理
  • 以楼宇自控技术赋能节能,驱动绿色建筑可持续发展进程
  • PCL 导入VS配置的大量依赖项名称快速读取
  • git报错fatal: 远端意外挂断了
  • 简述Unity的资源加载和内存管理
  • 企业做网站 里面都写什么/品牌策略怎么写
  • 网站关键词seo怎么做/常见的微信营销方式有哪些
  • 免费的小网站/网站搜索优化价格
  • 建设大型网站制作品牌/关键词优化推广公司排名
  • 西樵网站建设公司/常用的网站推广方法
  • 怎样做免费网站/seo优化师