594. 最长和谐子序列
思路:滑动窗口/双指针
通过保证区间左右端点差值永远 < = 1 <=1 <=1,维护这样的滑动窗口,每一次保留区间长度的最大值
class Solution {
public:
int findLHS(vector<int>& nums) {
int res = 0, l = 0, r = 0;
int n = nums.size();
sort(nums.begin(), nums.end());
for (r = 1; r < n; r ++ ) {
while (nums[r] - nums[l] > 1) l ++ ;
if (nums[r] - nums[l] == 1) {
res = max(res, r - l + 1);
}
}
return res;
}
};