用哈希表存放每个元素出现的个数,遍历哈希表并且计算当前元素以及当前元素加一的元素的个数
class Solution {
public:
int findLHS(vector<int>& nums) {
if(nums.empty()) return 0;
unordered_map<int,int> m;
int res=0;
for(auto i:nums) m[i]++;
for(auto i:m) {
auto iter=m.find(i.first+1);
if(iter!=m.end()) {
res=max(res,i.second+iter->second);
}
}
return res;
}
};