#include <unordered_map>
#include <vector>
class Solution {
public:
int findLHS(std::vector<int>& nums) {
std::unordered_map<int, int> freq;
for (const int& n : nums) {
if (freq.contains(n)) freq[n]++;
else freq[n] = 1;
}
int max_n_np1_sum = 0;
for (const auto& pair : freq) {
if (
freq.contains(pair.first + 1)
&&
freq[pair.first] + freq[pair.first + 1] > max_n_np1_sum
) {
max_n_np1_sum = freq[pair.first] + freq[pair.first + 1];
}
}
return max_n_np1_sum;
}
};