码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 594. 最长和谐子序列 Longest Harmonious Subsequence (Easy)

时间:2020-05-18 23:01:29      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:leetcode   auto   seq   tar   lan   hashmap   整数   amp   src   

和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1。

现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度。

技术图片

来源:力扣(LeetCode)


 解法一:哈希表

class Solution {
public:
    int findLHS(vector<int>& nums) {

        unordered_map<int, int> hashMap;
        for (int num : nums)
            ++hashMap[num];

        int longest = 0;
        for (auto num : hashMap)  //num <int, int> = <first, second>
        {
            if (hashMap.count(num.first + 1))  //最大值和最小值之间的差别正好是1
                longest = max(num.second + hashMap[num.first + 1], longest);
        }
        return longest;
    }
};

 

解法二:排序后双指针

 

LeetCode 594. 最长和谐子序列 Longest Harmonious Subsequence (Easy)

标签:leetcode   auto   seq   tar   lan   hashmap   整数   amp   src   

原文地址:https://www.cnblogs.com/ZSY-blog/p/12913294.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!