LeetCode #1415

The k-th Lexicographical String of All Happy Strings of Length n

1개의 풀이 · C++

문제 원문 보기 ↗

SOLUTION INFO

C++ · main.cpp

main.cpp
class Solution {
public:
    string getHappyString(int n, int k) {
        int sz = 3 * (1 << (n - 1));
        if(k > sz) return "";
        auto [a, b] = div(k - 1, 1 << (n - 1));
        string s(n, ' ');
        s[0] = 'a' + a;
        bitset<9> bit(b);
        string db = "bcacab";
        for(int i = n - 2; i >= 0; --i) {
            char idx = s[n - 2 - i] - 'a';
            s[n - 1 - i] = bit[i] ? db[idx * 2 + 1] : db[idx * 2];
        }
        return s;
    }
};

SOLUTION DESCRIPTION

풀이 설명

등록된 풀이 설명이 없습니다.