问题

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3800 访问。

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

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

输入: [1,3,2,2,5,2,3,7]

输出: 5

原因: 最长的和谐数组是:[3,2,2,2,3].

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


We define a harmonious array is an array where the difference between its maximum value and its minimum value is exactly 1.

Now, given an integer array, you need to find the length of its longest harmonious subsequence among all its possible subsequences.

Input: [1,3,2,2,5,2,3,7]

Output: 5

Explanation: The longest harmonious subsequence is [3,2,2,2,3].

Note: The length of the input array will not exceed 20,000.


示例

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3800 访问。

public class Program {public static void Main(string[] args) {var nums = new int[] { 1, 3, 2, 2, 5, 2, 3, 7 };var res = FindLHS(nums);Console.WriteLine(res);Console.ReadKey();}public static int FindLHS(int[] nums) {var res = 0;var dic = new Dictionary<int, int>();for(var i = 0; i < nums.Length; i++) {if(dic.ContainsKey(nums[i])) {dic[nums[i]]++;} else {dic[nums[i]] = 1;}}foreach(var item in dic) {if(dic.ContainsKey(item.Key + 1)) {res = Math.Max(res, dic[item.Key + 1] + item.Value);}if(dic.ContainsKey(item.Key - 1)) {res = Math.Max(res, dic[item.Key - 1] + item.Value);}}return res;}}

以上给出1种算法实现,以下是这个案例的输出结果:

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3800 访问。

5

分析:

显而易见,以上算法的时间复杂度为: 

C#LeetCode刷题之#594-最长和谐子序列​​​​​​​​​​​​​​(Longest Harmonious Subsequence)相关推荐

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

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

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

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

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

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

  4. Leetcode 594. 最长和谐子序列 C++

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

  5. LeetCode——1143. 最长公共子序列(Longest Common Subsequence)[中等]——分析及代码(Java)

    LeetCode--1143. 最长公共子序列[Longest Common Subsequence][中等]--分析及代码[Java] 一.题目 二.分析及代码 1. 动态规划 (1)思路 (2)代 ...

  6. 【最优解】Leecode 594. 最长和谐子序列——Leecode每日一题系列

    今天是坚持每日一题打卡的第二十二天 题目链接:https://leetcode-cn.com/problems/longest-harmonious-subsequence/ 题解汇总:https:/ ...

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

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

  8. leetcode 594 最长和谐子序列

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

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

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

  10. 牛客刷题动态规划之最长递增子序列

    题目描述 给定数组arr,设长度为n,输出arr的最长递增子序列.(如果有多个答案,请输出其中字典序最小的) 示例1 输入 [2,1,5,3,6,4,8,9,7] 输出 [1,3,4,8,9] 示例2 ...

最新文章

  1. 题目1465:最简真分数
  2. C#类型反射、晚期绑定、特性编程的使用背景与分析
  3. JVM实用参数(五)新生代垃圾回收
  4. ProgressBar控件在Listview下的多线程应用(转自johngeng)
  5. 一文看懂集群、分布式与负载均衡的关系
  6. CRM lifecycle status
  7. python去除图像光照不均匀_CVPR 2020 | 从重建质量到感知质量:用于低光照增强的半监督学习方法...
  8. 素材 | 3D立体设定数据多彩数据统计图元素PSD模板
  9. 【人脸识别】基于matlab GUI PCA人脸识别【含Matlab源码 748期】
  10. 小爱同学服务器维修,小爱同学TTS服务(2019年5月29日更新可用版本)
  11. matlab中class,[转载]Matlab中的类(Class)
  12. android追美剧app,追美剧必备神器!安卓追剧助手App体验
  13. Python自学笔记————字符串
  14. 实验1 Bean管理
  15. LeetCode--第25题K个一组翻转链表
  16. iOS-根据银行卡号判断银行名称
  17. 北京化工大学计算机复试面试题,北京化工大学综合素质测试面试题历年总结
  18. 【报错】python编码问题:UnicodeDecodeError:‘utf-8‘codec can‘t decode byte 0xce in position 52: invalid contin
  19. 让Downpour的Spring Security 2 配置精讲简单化,大家一起学习
  20. C语言中的void和void指针-void*,及void指针做函数参数。

热门文章

  1. SpringBoot——@Scheduled的自定义周期性线程池解决任务延时执行问题
  2. 【算法学习】线性时间排序-计数排序、基数排序和桶排序详解与编程实现
  3. 类的定义 java 1613806383
  4. HTML演练 0917 需求说明 我喜欢的影视剧
  5. 字体样式 font-family 0911
  6. 前端开发 容器标签 0226
  7. 练习答案-分支与循环-超市买苹果练习-猜数字小游戏
  8. jquery-尺寸相关
  9. Zabbix监控SQLServer TPS
  10. 《Spark The Definitive Guide》Chapter 6:处理不同类型的数据