【快乐水题】594. 最长和谐子序列
生活随笔
收集整理的這篇文章主要介紹了
【快乐水题】594. 最长和谐子序列
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
原題:
力扣鏈接:594. 最長(zhǎng)和諧子序列
題目簡(jiǎn)述:
和諧數(shù)組是指一個(gè)數(shù)組里元素的最大值和最小值之間的差別 正好是 1 。
現(xiàn)在,給你一個(gè)整數(shù)數(shù)組 nums ,請(qǐng)你在所有可能的子序列中找到最長(zhǎng)的和諧子序列的長(zhǎng)度。
數(shù)組的子序列是一個(gè)由數(shù)組派生出來(lái)的序列,它可以通過(guò)刪除一些元素或不刪除元素、且不改變其余元素的順序而得到。
解題思路
1.哈希計(jì)數(shù);
2.然后計(jì)算差值為1的兩個(gè)數(shù)的次數(shù)和;
3.over;
C++代碼:
class Solution { public:int findLHS(vector<int>& nums) {unordered_map<int, int> umap;for(auto i : nums){++umap[i];}int nRetMax = 0;for(auto it = umap.begin();it != umap.end(); it++){//cout << it->first << " " << it->second << endl;if(umap.count(it->first + 1)){nRetMax = max(nRetMax, umap[it->first + 1] + it->second);}}return nRetMax;} };力扣結(jié)果展示:
總結(jié)
以上是生活随笔為你收集整理的【快乐水题】594. 最长和谐子序列的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【快乐水题】677. 键值映射
- 下一篇: 2020年中国直播电商行业研究报告