Check If a String Contains All Binary Codes of Size K

ㅋㅋ·2022년 5월 31일
0

알고리즘-leetcode

목록 보기
3/135

'0'과 '1'로 이루어진 k 길이로 만들 수 있는 모든 문자열이

문자열 s에 포함되어 있는지 검사하는 문제

처음에는 중복 순열을 모두 구하여 해당 값이 s에 포함되어 있나 검사했는데 시간 초과가 떴다.

class Solution {
public:

    bool hasAllCodes(string s, int k) {
        
        int stringSize = s.size();
        set<string> hash{};
        
        for (int i = 0; i <= stringSize - k; i++)
        {
            string temp{s.substr(i, k)};
            hash.insert(temp);
        }
        
        return pow(2, k) == hash.size();
    }
};

0개의 댓글