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

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

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

    • 用两个单调队列分别处理最大值和最小值
cpp 复制代码
  class Solution {
  public:
      int longestSubarray(vector<int>& nums, int limit) {
          deque<int> quemax,quemin;
          int n = nums.size(),res=0;
          for(int i=0,j=0;i<n;i++)
          {
              while(!quemax.empty() && quemax.back() < nums[i]) quemax.pop_back();
              while(!quemin.empty() && quemin.back() > nums[i]) quemin.pop_back();
              quemax.push_back(nums[i]);
              quemin.push_back(nums[i]);
              while(!quemax.empty() && !quemin.empty() && quemax.front() - quemin.front() > limit)
              {
                  if(quemax.front() == nums[j]) quemax.pop_front();
                  if(quemin.front() == nums[j]) quemin.pop_front();
                  j ++;
              }
              res = max(res,i-j+1);
          }
          return res;
      }
  };
相关推荐
sewinger11 分钟前
区间合并算法详解
算法
XY.散人14 分钟前
初识算法 · 滑动窗口(1)
算法
huanxiangcoco16 分钟前
152. 乘积最大子数组
python·leetcode
韬. .36 分钟前
树和二叉树知识点大全及相关题目练习【数据结构】
数据结构·学习·算法
野草y36 分钟前
数据结构(7.4_1)——B树
数据结构·b树
Word码41 分钟前
数据结构:栈和队列
c语言·开发语言·数据结构·经验分享·笔记·算法
代码雕刻家42 分钟前
数据结构-3.10.队列的应用
服务器·数据结构
五花肉村长1 小时前
数据结构-队列
c语言·开发语言·数据结构·算法·visualstudio·编辑器
秋落风声1 小时前
【数据结构】---图
java·数据结构··graph
CyberMuse1 小时前
AVL平衡树(AVL Tree)
数据结构