594 最長和諧子串行

2021-10-09 02:31:35 字數 601 閱讀 6654

題目描述:

和諧陣列是指乙個陣列裡元素的最大值和最小值之間的差別正好是1。

現在,給定乙個整數陣列,你需要在所有可能的子串行中找到最長的和諧子串行的長度。

示例 1:

輸入: [1,3,2,2,5,2,3,7]

輸出: 5

原因: 最長的和諧陣列是:[3,2,2,2,3].

說明: 輸入的陣列長度最大不超過20,000.

方法1:

主要思路:

(1)將原始的陣列使用unordered_map統計各個元素出現的頻率,然後遍歷unordered_map各個元素,並找其鍵加1的鍵是否存在,若存在,則更新可能的最長子序列長度;

class

solution

int res=0;

//找出可能的最長子序列

for(

auto it=mp.

begin()

;it!=mp.

end();

++it)

}return res;}}

;

594 最長和諧子串行

和諧陣列是指乙個陣列裡元素的最大值和最小值之間的差別正好是1。現在,給你乙個整數陣列nums,請你在所有可能的子串行中找到最長的和諧子串行的長度。陣列的子串行是乙個由陣列派生出來的序列,它可以通過刪除一些元素或不刪除元素 且不改變其餘元素的順序而得到。示例 1 輸入 nums 1,3,2,2,5,2...

594 最長和諧子串行

和諧陣列是指乙個陣列裡元素的最大值和最小值之間的差別正好是1。現在,給定乙個整數陣列,你需要在所有可能的子串行中找到最長的和諧子串行的長度。示例 1 輸入 1,3,2,2,5,2,3,7 輸出 5 原因 最長的和諧陣列是 3,2,2,2,3 1 import j a.util.hashmap 2im...

594 最長和諧子串行 簡單)

和諧陣列是指乙個陣列裡元素的最大值和最小值之間的差別正好是1。現在,給定乙個整數陣列,你需要在所有可能的子串行中找到最長的和諧子串行的長度。超出時間了 class solution object def findlhs self,nums type nums list int rtype int r...