1148. 最长和谐子序列
1148. 最长和谐子序列
中文English
我们将一个和谐数组定义为是其最大值和最小值之间的差值恰好为1的数组。
现在,给定一个整数数组,您需要在其所有可能的子序列中找到其最长的和谐子序列的长度。
样例
输入:[1,3,2,2,5,2,3,7]
输出:5
解释:最长的和谐子序列是[3,2,2,2,3]。
注意事项
输入数组的长度不会超过20,000。
##最长和谐子序列 class Solution: ''' 大致思路: 1.初始化s=0,循环nums,每次进行判断nums.count(i) + nums.count(i+1)和s的大小,如果大于的话,则s重新被赋值,最后返回s即可 ''' def findLHS(self,nums): s = 0 dic = [] for i in nums: if i not in dic: dic.append(i) c = nums.count(i) + nums.count(i+1) if c > s: s = c return s