题目

和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1 。
现在,给你一个整数数组 nums ,请你在所有可能的子序列中找到最长的和谐子序列的长度。
数组的子序列是一个由数组派生出来的序列,它可以通过删除一些元素或不删除元素、且不改变其余元素的顺序而得到。
示例 1:
输入:nums = [1,3,2,2,5,2,3,7]
输出:5
解释:最长的和谐子序列是 [3,2,2,2,3]
示例 2:
输入:nums = [1,2,3,4]
输出:2
示例 3:
输入:nums = [1,1,1,1]
输出:0
提示:
1 <= nums.length <= 2 * 10^4
-10^9 <= nums[i] <= 10 ^9
来源:力扣(LeetCode)

解题思路

  这道题本质上就是统计数组中相差为1的元素个数,所以只需要统计各个字符的频率,然后检查所有符合条件的元素对,统计它们的总频率并更新最大值即可。在这里需要注意一个小细节,相差为1可以是小1个单位也可以是大1个单位,统计的时候只需要记一种即可,如果记两种则会造成重复扫描徒增功耗。

class Solution:def findLHS(self, nums: List[int]) -> int:d=Counter(nums)MAX=0print(d)for i in d.keys():if i+1 in d.keys():if d[i]+d[i+1]>MAX:MAX=d[i]+d[i+1]return MAX

LeetCode简单题之最长和谐子序列相关推荐

  1. C#LeetCode刷题之#594-最长和谐子序列​​​​​​​​​​​​​​(Longest Harmonious Subsequence)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3800 访问. 和谐数组是指一个数组里元素的最大值和最小值之间的差 ...

  2. LeetCode高频题:最长公共子序列,玩游戏A和游戏B,两兄弟加起来最多可以获得多少奖品

    LeetCode高频题:最长公共子序列,玩游戏A和游戏B,两兄弟加起来最多可以获得多少奖品? 提示:本题是系列LeetCode的150道高频题,你未来遇到的互联网大厂的笔试和面试考题,基本都是从这上面 ...

  3. LeetCode高频题300. 最长递增子序列

    LeetCode高频题300. 最长递增子序列 提示:本题是系列LeetCode的150道高频题,你未来遇到的互联网大厂的笔试和面试考题,基本都是从这上面改编而来的题目 互联网大厂们在公司养了一大批A ...

  4. LeetCode简单题之最长的美好子字符串

    题目 当一个字符串 s 包含的每一种字母的大写和小写形式 同时 出现在 s 中,就称这个字符串 s 是 美好 字符串.比方说,"abABB" 是美好字符串,因为 'A' 和 'a' ...

  5. LeetCode简单题之最长特殊序列 Ⅰ

    题目 给你两个字符串 a 和 b,请返回 这两个字符串中 最长的特殊序列 .如果不存在,则返回 -1 . 「最长特殊序列」 定义如下:该序列为 某字符串独有的最长子序列(即不能是其他字符串的子序列) ...

  6. LeetCode简单题之最长回文串

    题目 给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的回文串 . 在构造过程中,请注意 区分大小写 .比如 "Aa" 不能当做一个回文字符串. 示例 ...

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

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

  8. LeetCode 第594题——最长和谐子序列

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

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

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

最新文章

  1. CloudStack部署篇二 高级网络设置
  2. java state用法_Java状态模式(State模式)
  3. poj3254 Corn Fields 状压DP入门
  4. 服务器端虚拟化安卓,安卓服务器端实例
  5. Mybatis生成器插件扩展,生成OR操作
  6. Mac通过wifi连接 Android设备
  7. [树结构]平衡二叉树AVL
  8. C++学习之路 | PTA乙级—— 1086 就不告诉你 (15 分)(精简)
  9. GitHub上如何删除repository仓库
  10. Python数据分析学习笔记:使用SciKit-Learn进行数据规范化
  11. javascript在IE和Firefox中兼容性问题
  12. Web API-DOM节点操作
  13. Delphi之TStrings和TStringLists类[转]
  14. bindZip下载地址
  15. single cell 数据分析流程及原理
  16. Udacity 传感器融合笔记 (一)lidar
  17. Threejs实现3d地球记录(1)
  18. 【SpringBoot实战】分布式定时任务锁Shedlock
  19. arm linux fpu,ARM处理器的浮点运算单元(FPU)
  20. 状语从句不是简单句_上海中考状语从句专题-练习

热门文章

  1. python中的match和search的区别
  2. VTA:深度学习加速器堆栈
  3. 反应式系统实现MQTT客户机
  4. 构建一个移动应用程序要花多少钱?
  5. 2021年大数据Flink(三十五):​​​​​​​Table与SQL ​​​​​​案例二
  6. ViewPager 设置间距的方法
  7. Android 保存崩溃日志到本地目录下
  8. css position属性
  9. scala函数式编程(二) scala基础语法介绍
  10. SQL Server中Identity标识列