Definimos una matriz armoniosa como una matriz donde la diferencia entre su valor máximo y su valor mínimo es exactamente 1.
Ahora, dada una matriz entera, necesita encontrar la longitud de su subsecuencia armoniosa más larga entre todas sus subsecuencias posibles .
Ejemplo 1:
Entrada: [1,3,2,2,5,2,3,7] Salida: 5 Explicación: La subsecuencia armoniosa más larga es [3,2,2,2,3].
Nota: La longitud de la matriz de entrada no excederá de 20,000.
# -*- coding:utf-8 -*-
__author__ = 'yangxin_ryan'
"""
Soultions:
根据题目我们可以看出来,找到最和谐的子串,我们根据实例:
input:[1,3,2,2,5,2,3,7]
output:5
reason:[3,2,2,2,3]
我们可以看出来只需要找相邻的差值为1的数据对即可,因此我们可以利用Hash的原理,将数据的每个数据分别统计,
然后去查相邻的数据是在数列中存在,并且找出两个数据的数量最大的即可;
公式如下
result = max(result, count[i] + count[i + 1]))
"""
cla