LeetCode --- 594.最長の調和的なサブシーケンス問題解決レポート

調和配列を、最大値と最小値の差が正確に  1 である配列として定義します 

さて、整数配列を指定して、あなたはそのすべての可能性の中で最も長い調和のとれたサブシーケンスの長さを見つける必要がある  サブ

例1:

入力: [1,3,2,2,5,2,3,7]
 出力: 5
 説明:最も長い調和のとれた部分列は[3,2,2,2,3]です。

 

注:  入力配列の長さは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

おすすめ

転載: blog.csdn.net/u012965373/article/details/105653563