sy1214ei 님의 블로그

[Leet Code] 594. Longest Harmonious Subsequence - Python 본문

[Coding]

[Leet Code] 594. Longest Harmonious Subsequence - Python

sy1214ei 2024. 11. 25. 02:44
class Solution:
    def findLHS(self, nums: List[int]) -> int:
        # 1. 빈도수를 저장하는 딕셔너리 만들기
        # 2. for문으로 nums를 돌면서 각 숫자의 빈도수 저장
        # 3. for num in freq 돌면서
        #    num+1 값이 존재한다면
        #    freq[num] + freq[num+1] 값이 최대인 값 max_lang에 저장
        freq = {}
        for num in nums: # save the frequence
            if num in freq:
                freq[num] += 1
            else:
                freq[num] = 1
        
        max_lang = 0
        for num in freq:
            if num+1 in freq:
                max_lang = max(max_lang, freq[num]+freq[num+1])
        
        return max_lang
    # Time Complexity : O(n)
    # Space Complextiy : O(n)