LeetCode 594 最長和諧子串行

2021-10-01 06:26:53 字數 676 閱讀 9549

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

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

示例 1:

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

輸出: 5

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

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

(1)雜湊對映方法:確定每個元素x在陣列出現過的次數儲存在map中,再遍歷陣列nums,記錄x和x+1在陣列**現的次數即為和諧陣列的長度。

(2)雙指標方法:首先給陣列排序,然後利用雙指標的特性進行比較和統計。

(1)雜湊對映方法:

int findlhs(vector& nums)

int res = 0;

//設當前數為x,只需找到當前陣列中x和x+1的個數,這些元素組成的即為和諧陣列

for(int i = 0; i < nums.size(); i++)

return res;

}(2)雙指標方法:

LeetCode 594 最長和諧子串行

和諧陣列是指乙個陣列裡元素的最大值和最小值之間的差別正好是1。現在,給定乙個整數陣列,你需要在所有可能的子串行中找到最長的和諧子串行的長度。示例 1 輸入 1,3,2,2,5,2,3,7 輸出 5 原因 最長的和諧陣列是 3,2,2,2,3 說明 輸入的陣列長度最大不超過20,000.還是用字典來解...

LeetCode 594 最長和諧子串行

和諧陣列是指乙個陣列裡元素的最大值和最小值之間的差別正好是1。現在,給定乙個整數陣列,你需要在所有可能的子串行中找到最長的和諧子串行的長度。示例 1 輸入 1,3,2,2,5,2,3,7 輸出 5 原因 最長的和諧陣列是 3,2,2,2,3 說明 輸入的陣列長度最大不超過20,000.思路 把原陣列...

Leetcode 594 最長和諧子串行 C

和諧陣列是指乙個陣列裡元素的最大值和最小值之間的差別正好是1。現在,給定乙個整數陣列,你需要在所有可能的子串行中找到最長的和諧子串行的長度。輸入 1,3,2,2,5,2,3,7 輸出 5 原因 最長的和諧陣列是 3,2,2,2,3 說明 輸入的陣列長度最大不超過20,000.題目可以理解為,有兩個連...