Leetcode 594. 最长和谐子序列

题目

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

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

示例:

输入: [1,3,2,2,5,2,3,7]
输出: 5
原因: 最长的和谐数组是:[3,2,2,2,3].
说明: 输入的数组长度最大不超过20,000.

题解

题目可以理解为,有两个连续的数,在数组中找到这两个数,找数目最多。故,我们用哈希表统计数字出现的次数,然后遍历哈希表,找是否存在当前数字+1的数,并更新答案。详细过程见代码

代码

 int findLHS(vector<int>& nums) {int i=0,j,n=nums.size();int ans=0;unordered_map<int,int> times;for(i=0; i<n; i++)times[nums[i]]++;unordered_map<int,int>::iterator iter = times.begin();while(iter != times.end()){if(times.count((*iter).first+1))ans = max(ans,times[(*iter).first+1]+(*iter).second);iter++;}return ans;}

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-harmonious-subsequence
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

Leetcode 594. 最长和谐子序列 C++相关推荐

  1. LeetCode 594. 最长和谐子序列(map)

    文章目录 1. 题目 2. 解题 2.1 map+两次扫描 2.2 map+一次扫描 1. 题目 和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1. 现在,给定一个整数数组,你需要在所有可 ...

  2. leetcode 594 最长和谐子序列

    https://leetcode-cn.com/problems/longest-harmonious-subsequence/ 题目 和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1 . ...

  3. Leetcode 594. 最长和谐子序列

    和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1. 现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度. 示例 1:输入: [1,3,2,2,5,2,3,7] 输 ...

  4. leetcode 594. 最长和谐子序列python

    题目描述:  题解一: 本来打算用滑动窗口,但题目要求的子序列也不是连续的. 1.先将输入nums按照从小到大排序. 2.用一个dict记录nums中每个数字出现的次数,key为数字,value为出现 ...

  5. leetcode 594最长和谐子序列

    class Solution { public:int findLHS(vector<int>& nums) {int res=0;map<int,int> m;for ...

  6. 【LeetCode】594. 最长和谐子序列(js 实现)

    1.题目 594. 最长和谐子序列 - 力扣(LeetCode) (leetcode-cn.com) 2.实现 (1)方法一:哈希表(个人感觉这个更好理解,可能我对滑动窗口的做法不太熟悉吧) 代码 / ...

  7. ( 哈希表) 594. 最长和谐子序列 ——【Leetcode每日一题】

    ❓594. 最长和谐子序列 难度:简单 和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1 . 现在,给你一个整数数组 nums ,请你在所有可能的子序列中找到最长的和谐子序列的长度. ...

  8. 【快乐水题】594. 最长和谐子序列

    原题: 力扣链接:594. 最长和谐子序列 题目简述: 和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1 . 现在,给你一个整数数组 nums ,请你在所有可能的子序列中找到最长的和谐 ...

  9. 594.最长和谐子序列

    和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1 . 现在,给你一个整数数组 nums ,请你在所有可能的子序列中找到最长的和谐子序列的长度. 数组的子序列是一个由数组派生出来的序列, ...

最新文章

  1. 原生CSS设置预加载图片之前的默认背景图
  2. [BZOJ4399]魔法少女LJJ
  3. linux推出超级用户_Linux 系统的进入与退出
  4. 5.修改hadoop配置文件
  5. 滑动窗口最大值—leetcode239
  6. 嵌入式linux文件系统类型,嵌入式Linux 的Cramfs 根文件系统配置的解决方案
  7. python脚本 pyqt 打包成windows可执行exe文件 pyinstaller
  8. Ubuntu16使用theano出错
  9. Javascript中的form
  10. NetofficeSystem协同办公系统今日发布
  11. Redis无法保存ef复杂对象
  12. 【编程菜谱系列一】手把手教你用废旧手机改造为人脸识别监控
  13. CoLA任务的数据增强方法
  14. csgo修改服务器最大人数,国服CSGO为满足大环境,需全方位多处修改
  15. word2010 目录 摘要 正文 奇偶页页码不同的解决方法
  16. React(四):Smart组件与Dumb组件
  17. LIO-SAM: 论文翻译
  18. 怎样把pdf转换成excel转换器
  19. clk子系统 - 代码分析
  20. nginx安装配置 linux

热门文章

  1. ZPL II 语言编程基础
  2. jpa 使用hql进行联表查询
  3. 视频直播源码 直播软件搭建进行直播推流时,对声音进行音质优化
  4. fzu 2238 Daxia Wzc's problem
  5. 飞冰(ICE) 阿里家的前端图形化一键工具
  6. 计算机数学ppt,数学主题ppt
  7. 模拟JS触发按钮点击功能
  8. java毕业设计居民个人健康信息与个人健康服务综合平台mybatis+源码+调试部署+系统+数据库+lw
  9. 工程师文化:正版软件应该公司买吗
  10. 【ICO/WMF】PNG/JPEG转ICO/WMF工具