題目描述:
和諧陣列是指乙個陣列裡元素的最大值和最小值之間的差別正好是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...