코테준비 - Gray Code

정상화·2023년 2월 26일

LeetCode

목록 보기
86/222

Gray Code

class Solution {
private:
    vector<int> codes;
public:
    vector<int> grayCode(int n) {
        codes = vector<int>(pow(2,n));
        recursive(n);
        return codes;
    }

    void recursive(int n) {
        if (n == 1) {
            codes[0] = 0;
            codes[1] = 1;
            return;
        }
        recursive(n - 1);
        int start = pow(2, n - 1);
        int end = pow(2, n);
        for (int i = start; i < end; i++) {
            codes[i] = codes[end - i - 1] + start;
        }
    }
};
profile
백엔드 희망

0개의 댓글