594.js
/** ------------------------------------------------------------------------------
*
* 594. Longest Harmonious Subsequence
* Topics: Hash Table, Sliding Window
* https://leetcode.com/problems/longest-harmonious-subsequence/description/?envType=daily-question&envId=2025-06-30
*
------------------------------------------------------------------------------ */
/**
* @param {number[]} nums
* @return {number}
*/
var findLHS = function (nums) {
let max = 0
let map = new Map()
for (let i = 0; i < nums.length; i++) {
if (map.has(nums[i])) {
map.set(nums[i], map.get(nums[i]) + 1)
} else {
map.set(nums[i], 1)
}
}
for (const [num, count] of map) {
if (map.has(num + 1)) {
max = Math.max(max, count + map.get(num + 1))
}
}
return max
}
console.log(findLHS([1, 3, 2, 2, 5, 2, 3, 7]))