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

题目链接

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

注意事项

multiset中取最大值:rebegin
multiset中取最小值:begin

代码

class Solution {
public:
    int longestSubarray(vector& nums, int limit) {

        int ans = 0;
        int cnt = 0;
        int start = 0;
        int end = 0;
        multiset ms;

        while (end < nums.size()){
            ms.insert(nums[end]);
            cnt++;
            if (abs(*ms.rbegin() - *ms.begin())  1 && abs(*ms.rbegin() - *ms.begin()) > limit){
                ms.erase(ms.find(nums[start]));
                cnt--;
                start++;
            }
            end++;
        }

        ans = max(ans, cnt);

        return ans;
    }
};

Original: https://www.cnblogs.com/shixuanliu/p/16628415.html
Author: deafl
Title: LeetCode 1438. 绝对差不超过限制的最长连续子数组

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/587603/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球