力扣1499.满足不等式的最大值

力扣1499.满足不等式的最大值

  • 双端单调队列

    • 将原式变形为 xj + yj + yi - xi
    • 枚举j ,问题变为求i<j的yi - xi的最大值
    • 有限制条件xi ≥ xj−k
    • 单调队列储存二元组(x,y-x)
cpp 复制代码
  class Solution {
  public:
      int findMaxValueOfEquation(vector<vector<int>>& points, int k) {
          int ans = INT_MIN;
          deque<pair<int,int>> q;
          for(auto &p:points)
          {
              int x = p[0],y = p[1];
              //如果队头元素的x不满足条件了
              while(!q.empty() && q.front().first < x - k)
                  q.pop_front();
              //如果还有满足条件的,取队头的最大值
              if(!q.empty())
                  ans = max(ans,x + y + q.front().second);
              //如果队尾元素比当前的小,之前弹掉
              while(!q.empty() && q.back().second <= y - x)
                  q.pop_back();
              q.emplace_back(x,y-x);
          }
          return ans;
      }
  };
相关推荐
John.Lewis19 分钟前
C语言数据结构(4)单链表专题2.单链表的应用
c语言·数据结构·链表
冬夜戏雪26 分钟前
java学习 73矩阵置零 54螺旋矩阵 148排序链表
数据结构·算法·矩阵
小酒星小杜37 分钟前
我和女神有个约会之差点因为二维码太丑搞砸了🔥
前端·javascript·算法
Dream it possible!1 小时前
LeetCode 面试经典 150_数组/字符串_O(1)时间插入、删除和获取随机元素(12_380_C++_中等)(哈希表)
c++·leetcode·面试·哈希表
快去睡觉~1 小时前
力扣137:只出现一次的数字Ⅱ
数据结构·算法·leetcode
阑梦清川1 小时前
folo介绍和fluent reader阅读器的使用(RSS订阅技术)
算法
2501_924879362 小时前
密集表盘漏检率↓79%!陌讯多模态融合算法在电表箱状态识别的边缘优化
人工智能·算法·计算机视觉·目标跟踪·智慧城市
Sunlightʊə3 小时前
05.LinkedList与链表
java·数据结构·算法·链表
qq_513970443 小时前
力扣 hot100 Day67
算法·leetcode·职场和发展
Cx330❀3 小时前
【数据结构初阶】--单链表(二)
数据结构·经验分享·算法·leetcode