LeetCode 594. 最长和谐子序列(map)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 594. 最长和谐子序列(map)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
- 2.1 map+兩次掃描
- 2.2 map+一次掃描
1. 題目
和諧數組是指一個數組里元素的最大值和最小值之間的差別正好是1。
現在,給定一個整數數組,你需要在所有可能的子序列中找到最長的和諧子序列的長度。
示例 1: 輸入: [1,3,2,2,5,2,3,7] 輸出: 5 原因: 最長的和諧數組是:[3,2,2,2,3]. 說明: 輸入的數組長度最大不超過20,000.來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/longest-harmonious-subsequence
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
2.1 map+兩次掃描
- 一次掃描計數
- 一次掃描判斷前后迭代器key是否相差1,是,則將前后value相加(map是有序的)
2.2 map+一次掃描
- 掃描到key,其value計數
- 同時檢查key-1,key+1,存在否,更新最大長度
總結
以上是生活随笔為你收集整理的LeetCode 594. 最长和谐子序列(map)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1395. 统计作战单
- 下一篇: LeetCode 1353. 最多可以参