博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 594. 最长和谐子序列(Longest Harmonious Subsequence)
阅读量:5267 次
发布时间:2019-06-14

本文共 719 字,大约阅读时间需要 2 分钟。

目录

题目描述:

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

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

示例 1:

输入: [1,3,2,2,5,2,3,7]输出: 5原因: 最长的和谐数组是:[3,2,2,2,3].

说明: 输入的数组长度最大不超过20,000.


解法:

class Solution {public:    int findLHS(vector
& nums) { unordered_map
mp; for(int num : nums){ if(mp.find(num) == mp.end()){ mp[num] = 1; }else{ mp[num]++; } } int res = 0; for(auto it : mp){ long long val = it.first; if(mp.find(val+1) != mp.end()){ res = max(res, mp[val+1] + it.second); } } return res; }};

转载于:https://www.cnblogs.com/zhanzq/p/10600338.html

你可能感兴趣的文章
谈谈对程序猿的管理
查看>>
Android模糊图像
查看>>
POSIX 线程具体解释(3-相互排斥量:"固定加锁层次"/“试加锁-回退”)
查看>>
FileWriter
查看>>
go time模块
查看>>
【C语言及程序设计】项目2-26-2:删除数组元素与数组排序
查看>>
(五十三)屏幕适配初步
查看>>
man page
查看>>
jQuery中ajaxPrefilter的应用
查看>>
14.爬虫
查看>>
sql with 递归查询
查看>>
CLASSPATH 环境变量设置
查看>>
python+selenium(2)--浏览器及对应版本驱动下载
查看>>
Iterative Quantization,ITQ
查看>>
C#学习笔记(二)——变量和表达式
查看>>
好看的表格样式
查看>>
4-Ubuntu-启动/关闭/重启mysql服务
查看>>
31. Next Permutation
查看>>
rabbitmq
查看>>
Java绝对/相对路径获取与getResourceAsStream()方法
查看>>