1438. 绝对差不超过限制的最长连续子数组

2021年2月21日 Leetcode每日一题:1438. 绝对差不超过限制的最长连续子数组 绝对值不超过限制的最长连续子数组 1.题目描述 给你一个整数数组 nums ,和一个表示限制的整数limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于limit 。 如果不存在满足条件的子数组,则返回0 。 2.示例 示例 1: 输入:nums = [8,2,4,7], limit = 4 输出:2 解释:所有子数组如下: [8] 最大绝对差 |8-8| = 0 <= 4. [8,2] 最大绝对差 |8-2| = 6 > 4. [8,2,4] 最大绝 阅读详情

给你一个整数数组 nums ,和一个表示限制的整数
limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。
如果不存在满足条件的子数组,则返回 0 。 示例 1: 输入:nums = [8,2,4,7], limit = 4 输出:2
解释:所有子数组如下: [8] 最大绝对差 |8-8| = 0 <= 4. [8,2] 最大绝对差 |8-2| = 6 > 4.
[8,2,4] 最大绝对差 |8-2| = 6 > 4. [8,2,4,7] 最大绝对差 |8-2| = 6 > 4. [2] 最大绝对差
|2-2| = 0 <= 4. [2,4] 最大绝对差 |2-4| = 2 <= 4. [2,4,7] 最大绝对差 |2-7| = 5 >
4. [4] 最大绝对差 |4-4| = 0 <= 4. [4,7] 最大绝对差 |4-7| = 3 <= 4. [7] 最大绝对差 |7-7| = 0 <= 4. 因此,满足题意的最长子数组的长度为 2 。 示例 2:

输入:nums = [10,1,2,4,7,2], limit = 5 输出:4 解释:满足题意的最长子数组是
[2,4,7,2],其最大绝对差 |2-7| = 5 <= 5 。 示例 3:

输入:nums = [4,2,2,2,4,4,2,2], limit = 0 输出:3

public int longestSubarray(int[] nums, int limit) {
		int left = 0,right =0 ; // 初始化左右指针
		int maxOfChildren = 0; // 子数组最大值
		int minOfChildren = 0; // 子数组最小值
		int maxlenth = 0; // 符合要求的最大长度
		int len = nums.length-1; // 数组长度
		// 循环条件;当右侧最大长度大于当前符合要求数组最大长度
		while (len - left >= maxlenth) {
			int abs = Math.abs(nums[left]-nums[right]);// 子数组元素的绝对值
			if (right == left) {
				minOfChildren = nums[left];
				maxOfChildren = nums[left];
			}
			maxOfChildren = Math.max(maxOfChildren, nums[right]); /
			minOfChildren = Math.min(minOfChildren, nums[right]);
			if (abs <= limit && (maxOfChildren - minOfChildren <= limit)) {
				right++; // 右指针移动
				maxlenth = Math.max(maxlenth, right-left);// 获取最大指针长度
				// 检查子数组内部元素差值是否符合要求,数组中最大值和最小值,
			} else {
				left ++; // 左指针移动
				right = left;
			}
		}
		return maxlenth;
    }
【C++单调队列 滑动窗口】1438. 绝对差不超过限制的最长连续子数组|1672 给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。 如果不存在满足条件的子数组,则返回 0 。 阅读详情

相关推荐

告别裸机:在FreeRTOS上为STM32移植SOEM 1.4.0的完整指南

本文详细介绍了在FreeRTOS环境下为STM32H7系列芯片移植SOEM 1.4.0的完整指南,涵盖环境准备、任务架构设计、OSAL层适配及网络驱动优化等关键步骤。通过EtherCAT主站解决方案的实现,帮助开发者构建稳定可靠的工业自动化系统,提升实时通信性能。

weixin_33582311的博客 363

绝对差不超过限制的最长连续子数组

给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit。其实与大佬的大同小异,平日里都是看懂了以后用佬们的思路再写一遍,但是这次写出来发现没有任何语句可以改进,佬的回答已经节俭明了之极。解释:满足题意的最长子数组是 [2,4,7,2],其最大绝对差 |2-7| = 5 <= 5。第二行输入n个整数,整数间用空格分隔,表示数组的元素,1 <= 整数值 <= 10^9。

rc85qbte的博客 265

Unity安卓打包实战:SDK与JDK配置全攻略

本文详细介绍了Unity安卓打包过程中SDK与JDK的配置方法,包括工具下载、安装步骤、环境变量设置及常见错误排查。通过实战指南帮助开发者快速完成Unity安卓打包环境搭建,提升开发效率。

weixin_30338481的博客 416

【数据结构-单调队列】力扣1438. 绝对差不超过限制的最长连续子数组

如果发现差大于limit,那么我们此时要做的就是移动left,我们移动left的目的是看nums[left]是否是queMax中的队首或者queMin中的队首,也就是滑块中的最大值或最小值,如果nums[left]的值等于滑块的最大值,那么就弹出queMax的队首,并且继续将left向右移动,继续判断接下来的新的滑块范围的最大值减最小值是否大于limit。输入:nums = [4,2,2,2,4,4,2,2], limit = 0。输入:nums = [10,1,2,4,7,2], limit = 5。

sjsjs11的博客 637

从硬件异常到代码救赎:RH850内存访问错误(MAE)的深层诊断与艺术

本文深入探讨瑞萨RH850微控制器的内存访问错误(MAE)诊断与解决方法。针对程序跑飞和Flash Driver交互中的潜在陷阱,提供系统性硬件异常分析框架和防御性编程实践,帮助嵌入式开发者从底层机制到代码层面有效预防和修复MAE问题,提升系统稳定性。

pytorch8learner的博客 197

保姆级教程:在阿里云ECS上用Docker一键部署EMQX MQTT服务器(Ubuntu 20.04)

本文提供在阿里云ECS上使用Docker一键部署EMQX MQTT服务器的详细教程,涵盖从实例创建、Docker环境配置到EMQX部署与优化的全流程。适合物联网开发者快速搭建高效、安全的MQTT消息服务器,适用于智能家居、工业物联网等场景。

weixin_28739079的博客 308

leetcode 1438. 绝对差不超过限制的最长连续子数组----双指针篇3,滑动窗口篇2

绝对差不超过限制的最长连续子数组题解集合暴力法滑动窗口和双指针利用单调队列找出当前滑动窗口的最大最小值单调队列的优化思路总结 暴力法 思路:列举出所有满足条件的子数组,从中找出最大的长度 代码: class Solution { public: int longestSubarray(vector<int>& nums, int limit) { if (nums.empty()) return 0; if (nums.size() == 1) return 1; ...

m0_53157173的博客 2338

Anaconda/Miniconda的删除和安装

要在 MacBook 上删除 Anaconda 或 Miniconda,并重新安装它,您可以按照以下步骤进行操作。

qq_27390023的博客 3027

[leetcode]1438. 绝对差不超过限制的最长连续子数组

个人博客:https://javaniuniu.com/ 难度:中等 本题涉及算法: 滑动窗口 思路:滑动窗口 类似题型: 3. 无重复字符的最长子串 5393. 可获得的最大点数 题目 1438. 绝对差不超过限制的最长连续子数组 给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 lim...

java牛牛的博客 1312

从隐私保护到生命守护:CPD技术中的传感器选择与权衡

本文探讨了智能座舱中儿童存在检测(CPD)技术的传感器选择与隐私保护平衡策略。通过分析毫米波雷达、UWB等先进技术的性能与隐私风险,揭示了如何在确保儿童安全的同时保护用户隐私。文章还展望了CPD技术与座舱生态系统的未来融合趋势,为汽车安全领域提供了重要参考。

weixin_29159441的博客 301

【TCAD】AlGaN 器件的Sentaurus仿真

否则,必须在 LatticeParameters Sentaurus Device 的参数文件中的部分。Sentaurus Device 有两个工具实例:第一个工具实例, sd_fdiv ,模拟正向偏置特性,第二个工具实例, sd_rviv ,模拟反向偏置特性直至击穿。对于牛顿求解器,通常应该将非线性迭代次数限制为一个足够小的值,例如 Iterations=20 ,同时通过指定非阻尼迭代次数高于允许的牛顿迭代次数来避免解的阻尼( NotDamped=30 )。晶胞中的 Ga-N 键为橙色。

荷塘阅色 1215

LeetCode 1438. 绝对差不超过限制的最长连续子数组

满足题意的最长子数组是 [2,4,7,2],其最大绝对差 |2-7| = 5 4.[8,2,4] 最大绝对差 |8-2| = 6 > 4.[2,4,7] 最大绝对差 |2-7| = 5 > 4.[8,2] 最大绝对差 |8-2| = 6 > 4.[2,4] 最大绝对差 |2-4| = 2

m0_56090828的博客 875

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【1438. 绝对差不超过限制的最长连续子数组】

【代码】【1438. 绝对差不超过限制的最长连续子数组】

爱喝阔落的猫的博客 285

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

力扣1438.绝对差不超过限制的最长连续子数组

难点:保存数组缩小后的最大最小值。

Pisasama的博客 396

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

leetcode 1438.绝对差不超过限制的最长连续子数组

leetcode 1438.绝对差不超过限制的最长连续子数组 题干 给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。 如果不存在满足条件的子数组,则返回 0 。 示例 1: 输入:nums = [8,2,4,7], limit = 4 输出:2 解释:所有子数组如下: [8] 最大绝对差 |8-8| = 0 <= 4. [8,2] 最大绝对差 |8-2| = 6 > 4. [8,2,

玛软的垃圾桶 216

【每日一题】 1438. 绝对差不超过限制的最长连续子数组

【每日一题】 1438. 绝对差不超过限制的最长连续子数组 避免每日太过咸鱼,一天搞定一道LeetCode算法题 一、题目描述 难度: 中等 给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。 如果不存在满足条件的子数组,则返回 0 。 提示: 1 <= nums.length <= 10^5 1 <= nums[i] <= 10^9 0 <= limit &

Zack_tzh的博客 301

leetcode1438. 绝对差不超过限制的最长连续子数组

1438. 绝对差不超过限制的最长连续子数组题目分析 题目 给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。 如果不存在满足条件的子数组,则返回 0 。 示例 1: 输入:nums = [8,2,4,7], limit = 4 输出:2 解释:所有子数组如下: [8] 最大绝对差 |8-8| = 0 <= 4. [8,2] 最大绝对差 |8-2| = 6 > 4. [8,2,4] 最

qq_43688155的博客 696

leetcode-1438:绝对差不超过限制的最长连续子数组

给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit。如果不存在满足条件的子数组,则返回 0。

菊头蝙蝠的博客 517

LeetCode|1438. 绝对差不超过限制的最长连续子数组(day10)

这道题通过滑动窗口结合双端队列有效解决了寻找最长符合条件的子数组的问题,滑动窗口技巧帮助我们在线性时间内找到符合要求的子数组,保证了算法的高效性。

Hao_i的博客 464

leetcode1438绝对差不超过限制的最长连续子数组

1438.绝对差不超过限制的最长连续子数组 这道题的思路也很清晰,看到题直接想到滑动窗口,有了模板之后,需要考虑的就是怎么找到窗口中的最大最小值,那么在窗口的变化中,如果是有序的,那头和尾就是最大和最小值,c++中的multiset实现了这一点 class Solution { public: int longestSubarray(vector<int>& nums, int limit) { int left=0,right=0; int an

Healwh的博客 238

lc1438-绝对差不超过限制的最长连续子数组

Question % link 给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。 如果不存在满足条件的子数组,则返回 0 。 输入:nums = [8,2,4,7], limit = 4 输出:2 解释:所有子数组如下: [8] 最大绝对差 |8-8| = 0 <= 4. [8...

liuchaohs的博客 225
上一篇: Eclipse初步使用Git
下一篇: JUC并发编程01
恩洛
博客等级 码龄9年 2粉丝 53原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值