题目:
方法:
首先创建一个dict,将nums中的数字遍历至dict中,key为数字,value为数字出现的次数
然后在dict的key值中查看是否存在差值为1的另一个key值
如若存在证明nums中存在差值为1的数组,计算其长度
最后返回长度最长的和谐子序列
class Solution: def findLHS(self, nums): """ :type nums: List[int] :rtype: int """ dict1 = {} x = 0 b = 0 for i in range(len(nums)): dict1[nums[i]] = dict1.get(nums[i],0) + 1 for v in dict1: if v + 1 in dict1: b = dict1[v] + dict1[v+1] if b > x: x = b return x