classSolution{public:intlongestSubarray(vector<int>& nums,int limit){
multiset<int> s;//用于返回最大最小值 底层为红黑树int n = nums.size();int left =0, right =0;int ans =0;while(right < n){
s.insert(nums[right]);//差值超过limit进行s删除 并且滑动窗口左指针向右移while(*s.rbegin()-*s.begin()> limit)
s.erase(s.find(nums[left++]));//获取最大值
ret =max(ret, right - left +1);
right++;}return ans;}};