Leetcode Note: Go - Longest Harmonious Subsequence
Longest Harmonious Subsequence - LeetCode
https://leetcode.com/problems/longest-harmonious-subsequence/
- Go 言語で取り組んだメモ
所感
- Harmonious array: 最大値と最小値の差が 1 となる配列
- int 配列 nums における最も長い Harmonious Subsequence の length を int で return する
- Subsequence は残りの要素の順序を変更せずに、一部の要素を削除するかしないかで配列から生成できるシーケンスのこと
回答
Longest Harmonious Subsequence - LeetCode
https://leetcode.com/problems/longest-harmonious-subsequence/solution/
[Go] Map solution 48 ms - LeetCode Discuss
https://leetcode.com/problems/longest-harmonious-subsequence/discuss/559579/Go-Map-solution-48-ms
func findLHS(nums []int) int {
numbers := make(map[int]int, len(nums))
for _, n := range nums {
numbers[n]++
}
ans := 0
for k, v := range numbers{
if i, ok := numbers[k+1]; ok {
ans = max(ans, i + v)
}
}
return ans
}
func max(a,b int)int{
if a > b{
return a
}
return b
}
- hash map で出現した数値と回数を管理
- その後最大値を算出