力扣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;
      }
  };
相关推荐
刘马想放假9 小时前
Modbus 全栈技术解析:TCP、RTU、ASCII、RTU over TCP
数据结构·网络协议
05Kevin10 小时前
lk每日冒险题--数据结构6.27
算法
To_OC21 小时前
从一次栈溢出报错说起,我把递归彻底扒明白了
javascript·算法·程序员
千纸鹤安安1 天前
千问Qwen-AgentWorld来了:一个语言模型搞定七大Agent场景,GPT-5.4都输了
算法
七牛开发者1 天前
MCP 到底是什么?为什么 Agent 都想接上它
算法·aigc·agent
北域码匠1 天前
冒泡排序太慢?鸡尾酒排序双向优化,原生 C# 零第三方库完整代码
数据结构·排序算法·泛型·c# 算法·鸡尾酒排序·原生 c# 开发·冒泡排序优化·嵌入式算法
kisshyshy1 天前
从递归到迭代,一文吃透二叉树的核心知识与 JavaScript 实现
javascript·算法·代码规范