on
on

Reordered Power of 2

Author:

记录2的幂的数字包含的各数字出现次数,记录为unordered map,查表

string countDigits(int n) {    string cnt(10, 0);
    while (n) {
        ++cnt[n % 10];
        n /= 10;
    }
    return cnt;
}
unordered_set<string> powerOf2Digits;
int init = []() {
    for (int n = 1; n <= 1e9; n <<= 1) {
        powerOf2Digits.insert(countDigits(n));
    }
    return 0;
}();
class Solution {
public:
    bool reorderedPowerOf2(int n) {
        return powerOf2Digits.count(countDigits(n));
    }
};