class Solution:
def findLHS(self, nums: List[int]) -> int:
map1,map2 = {},{}
for num in nums:
map1[num] = map1.get(num, []) + [num]
if num-1 in map1:
map1[num-1].append(num)
map2[num] = map2.get(num, []) + [num]
if num+1 in map2:
map2[num+1].append(num)
res = 0
# 遍历两个哈希表,求最长和谐子序列长度
for key in map1:
l = map1[key]
if sum(l) != key * len(l):
res = max(res, len(l))
for key in map2:
l = map2[key]
if sum(l) != key * len(l):
res = max(res, len(l))
return res