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相关推荐

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

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

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

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

最新文章

  1. 服务器oracle11g卸载,卸载Oracle11g步骤详解
  2. adb查看手机cpu使用率_记录一下Unity打包Android在骁龙cpu上概率性卡死的问题
  3. Python : 什么是*args和**kwargs[转载]
  4. Python 基础篇-python3安装pyHook和pywin32库
  5. Spring boot配置嵌入式Servlet容器
  6. [转]数据仓库,OLAP与数据挖掘之间的关系
  7. Pearson相关系数
  8. 查询 service monitor 时发生内部错误_通过Service访问应用 (1)
  9. 如何使用Action.Invoke()触发一个Storyboard
  10. Vmware 中Linux中NAT网络异常解决方法
  11. shopnc框架数据库查询限制30条记录
  12. Astute Graphics for Mac(ai创意插件合集)
  13. win10无法装载重装系统iso文件_华硕笔记本怎么自己重装系统|华硕笔记本自己装系统教程...
  14. IE10首个修复补丁出现 解决ASP.NET兼容性
  15. 计算机无法连接远程桌面怎么回事,笔者教你远程桌面无法连接怎么办
  16. 利用JAVA求定积分
  17. 2020HW漏洞总结(三)
  18. IntelliJ IDEA如何导出和导入项目
  19. 缓冲区(buffer)与缓存(cache)
  20. 用opencv及cuda编译好的dakrnet训练yolo4

热门文章

  1. AE502 112种创意视频字幕动画呼出线框文字标题效果包括PR预设与扩展脚本ae模板
  2. java: java mina ——基于TCP/IP、UDP/IP协议栈的通信框架
  3. windows系统切换用户(通过cmd切换用户)
  4. 10行代码,带你理解自然底数e、自然指数ln
  5. css3动画让风车转起来
  6. 全屏功能-实现全屏-图标切换
  7. android大图、高清图片处理
  8. OA系统是什么意思?企业为什么要用OA办公系统软件?
  9. 使用虚拟机备份软件备份VMware vSphere虚拟机
  10. 【文献阅读】基于深层语言模型的古汉语知识表示及自动断句研究