594. 最长和谐子序列
题目:和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1。
现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度。
示例 1: 输入: [1,3,2,2,5,2,3,7] 输出: 5 原因: 最长的和谐数组是:[3,2,2,2,3].
class Solution {
public:
int findLHS(vector<int>& nums)
{
int res = 0;
unordered_map<int, int> mp;
for(int i : nums)
{
mp[i]++;
}
for(auto n : mp)
{
if(mp.count(n.first + 1))
{
res = max(res, n.second + mp[n.first+1]);
}
}
return res;
}
};
340

被折叠的 条评论
为什么被折叠?



