https://leetcode-cn.com/problems/longest-harmonious-subsequence/
也就是说这俩数必须是连续的,故直接哈希表存数的个数,然后遍历数组看相邻的两个数是否都存在即可,取一个max。
class Solution {
public:
int findLHS(vector<int>& nums)
{
int ans=0;
unordered_map<int,int>mp;
for(int i=0;i<nums.size();i++) mp[nums[i]]++;
for(int i=0;i<nums.size();i++)
{
if(mp[nums[i]]&&mp[nums[i]+1]) ans=max(ans,mp[nums[i]]+mp[nums[i]+1]);
}
return ans;
}
};