
em,滑动窗口,先排序,然后我们用一个 begin 来记录最小值,然后判断如果当前值 - begin >1,就说明不和谐,不和谐就开始比较长度,然后让 begin++;
看代码:
class Solution {
public:
int findLHS(vector& nums) {
sort(nums.begin(),nums.end());
int begin = 0,count = 0;
for(int end = 0;end 1)
{
begin++;
}
if(nums[end] - nums[begin] == 1)
{
count = max(count,end-begin+1);
}
}
return count;
}
};