leetcode1438
2024-06-02 12:00:47
leetcode1438
2021/2/21
绝对差不超过限制的最长连续子数组
给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。如果不存在满足条件的子数组,则返回 0 。
思路
使用multiset,滑动窗口。
multiset里插入右边的元素,使用自带排序,如果首尾绝对值差大于limit,删除左边元素。
比较得最大的窗口长度。代码
class Solution {public:int longestSubarray(vector<int>& nums, int limit) {int n = nums.size();int ans = 0, rec = 0;int l = 0, r = 0;multiset<int> t;while(r < n){t.insert(nums[r]);//rbegin指向最后一个元素,end指向最后一个元素的后面if(*t.rbegin() - *t.begin() > limit){//find函数找到左边第一个t.erase(t.find(nums[l]));l++;}ans = max(ans, r-l+1);r++;}return ans;}
};
- 关于multiset一些使用参考的:multiset使用
- 关于multiset的rbegin、begin、end区别:区别
leetcode1438相关推荐
- leetcode1438. 绝对差不超过限制的最长连续子数组
给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit . 如果不存在满足条件的子数组,则返回 ...
- LeetCode-1438. 绝对差不超过限制的最长连续子数组
题目描述: 给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit . 如果不存在满足条件的子数 ...
最新文章
- 服务器oracle11g卸载,卸载Oracle11g步骤详解
- adb查看手机cpu使用率_记录一下Unity打包Android在骁龙cpu上概率性卡死的问题
- Python : 什么是*args和**kwargs[转载]
- Python 基础篇-python3安装pyHook和pywin32库
- Spring boot配置嵌入式Servlet容器
- [转]数据仓库,OLAP与数据挖掘之间的关系
- Pearson相关系数
- 查询 service monitor 时发生内部错误_通过Service访问应用 (1)
- 如何使用Action.Invoke()触发一个Storyboard
- Vmware 中Linux中NAT网络异常解决方法
- shopnc框架数据库查询限制30条记录
- Astute Graphics for Mac(ai创意插件合集)
- win10无法装载重装系统iso文件_华硕笔记本怎么自己重装系统|华硕笔记本自己装系统教程...
- IE10首个修复补丁出现 解决ASP.NET兼容性
- 计算机无法连接远程桌面怎么回事,笔者教你远程桌面无法连接怎么办
- 利用JAVA求定积分
- 2020HW漏洞总结(三)
- IntelliJ IDEA如何导出和导入项目
- 缓冲区(buffer)与缓存(cache)
- 用opencv及cuda编译好的dakrnet训练yolo4