Go•longest-harmonious-subsequence/solution.go
package main
func findLHS(nums []int) int {
frequency := make(map[int]int, len(nums))
for _, value := range nums {
frequency[value]++
}
longest := 0
for value, count := range frequency {
if nextCount, ok := frequency[value+1]; ok && count+nextCount > longest {
longest = count + nextCount
}
}
return longest
}
Python•longest-harmonious-subsequence/solution.py
from collections import Counter
class Solution:
def findLHS(self, nums: list[int]) -> int:
frequency = Counter(nums)
return max(
(count + frequency[value + class="syntax-number">1] for value, count in frequency.items() if value + class="syntax-number">1 in frequency),
default=class="syntax-number">0,
)
TypeScript•longest-harmonious-subsequence/solution.ts
function findLHS(nums: number[]): number {
const frequency = new Map<number, number>();
for (const value of nums) frequency.set(value, (frequency.get(value) ?? class="syntax-number">0) + class="syntax-number">1);
let longest = class="syntax-number">0;
for (const [value, count] of frequency) {
const nextCount = frequency.get(value + class="syntax-number">1);
if (nextCount !== undefined) longest = Math.max(longest, count + nextCount);
}
return longest;
}