Max Value of Equation LeetCode solution in C++

1
class Solution {
2
public:
3
int findMaxValueOfEquation(vector<vector<int>> &points, int k) {
4
deque<pair<int, int>> dq;
5
int res = -INT_MAX;
6
for (auto point : points) {
7
while (!dq.empty() && point[0] - dq.front().second > k) {
8
dq.pop_front();
9
}
10
if (!dq.empty()) {
11
res = max(res, dq.front().first + point[0] + point[1]);
12
}
13
while (!dq.empty() && point[1] - point[0] >= dq.back().first) {
14
dq.pop_back();
15
}
16
dq.push_back({point[1] - point[0], point[0]});
17
}
18
return res;
19
}
20
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0