상세 컨텐츠

본문 제목

594. Longest Harmonious Subsequence

Developer/LEETCODE

by cepiloth 2021. 9. 8. 19:26

본문

728x90
반응형

https://leetcode.com/problems/longest-harmonious-subsequence/

 

Longest Harmonious Subsequence - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

난이도 : easy

 

문제

배열이 주어질 때, 최대값과 최소값이 정확히 1차이가 나는 subsequence들의 최대 길이를 구해라.

 

 입력으로 들어오는 원소의 갯수가 2 * 10^4 O(N^2) 으로 풀수 있어 보인다. 일단은 오늘은 unorded_map 을 사용해보려고 한다.  unordered_map은 해쉬테이블로 구현한 자료구조로 탐색 시간복잡도는 O(1)이다.

 해당 문제는 반복문을 수행하면서 unordered_map 에 숫자를 기록합니다. 그리고 unordered_map에서 key - 1 또는 key + 1인지 찾아 unordered_map에 있는 경우 결과를 업데이트 한다.

 

class Solution {
public:
    int findLHS(vector<int>& nums) {
        
        unordered_map<int, int> m;
        
        int res = 0;
        for (auto i: nums) {
            m[i]++;
            if(m.count(i + 1))
                res = max(res, m[i] + m[i + 1]);
            if(m.count(i - 1))
                res = max(res, m[i] + m[i - 1]);
        }

        return res;        
    }
};

 

728x90
반응형

'Developer > LEETCODE' 카테고리의 다른 글

2027. Minimum Moves to Convert String  (0) 2021.10.03
647. Palindromic Substrings  (0) 2021.09.12
682. Baseball Game  (0) 2021.09.08
575. Distribute Candies  (0) 2021.09.08
409. Longest Palindrome  (0) 2021.09.05

관련글 더보기

댓글 영역