和諧陣列是指乙個陣列裡元素的最大值和最小值之間的差別正好是1。
現在,給定乙個整數陣列,你需要在所有可能的子串行中找到最長的和諧子串行的長度。
!子串行就是包含在陣列中,不需要相連,但不能改變陣列元素順序的子陣列。
class
solution
:def
findlhs
(self, nums: list[
int])-
>
int:
d=for i in nums:
d[i]
=d.get(i,0)
+1ls=
list
(d.items())
ls.sort(
)# print(ls)
max=
0for idx in
range
(len
(ls)-1
):if ls[idx][0
]==ls[idx+1]
[0]-
1:max=
max(max,ls[idx][1
]+ls[idx+1]
[1])
return max
用字典計數,將字典化作列表:ls=list(d.items())
,排序,然後遍歷求和即可。
執行用時 :412 ms, 在所有 python3 提交中擊敗了48.55%的使用者記憶體消耗 :15.8 mb, 在所有 python3 提交中擊敗了5.66%的使用者
最長和諧子串行
和諧陣列是指乙個陣列裡元素的最大值和最小值之間的差別 正好是 1 現在,給你乙個整數陣列 nums 請你在所有可能的子串行中找到最長的和諧子串行的長度。陣列的子串行是乙個由陣列派生出來的序列,它可以通過刪除一些元素或不刪除元素 且不改變其餘元素的順序而得到。示例 1 輸入 nums 1,3,2,2,...
594 最長和諧子串行
題目描述 和諧陣列是指乙個陣列裡元素的最大值和最小值之間的差別正好是1。現在,給定乙個整數陣列,你需要在所有可能的子串行中找到最長的和諧子串行的長度。示例 1 輸入 1,3,2,2,5,2,3,7 輸出 5 原因 最長的和諧陣列是 3,2,2,2,3 說明 輸入的陣列長度最大不超過20,000.方法...
594 最長和諧子串行
和諧陣列是指乙個陣列裡元素的最大值和最小值之間的差別正好是1。現在,給你乙個整數陣列nums,請你在所有可能的子串行中找到最長的和諧子串行的長度。陣列的子串行是乙個由陣列派生出來的序列,它可以通過刪除一些元素或不刪除元素 且不改變其餘元素的順序而得到。示例 1 輸入 nums 1,3,2,2,5,2...