Design Bitset LeetCode solution in Python
1# Runtime: 1967 ms (Top 8.78%) | Memory: 45.4 MB (Top 61.95%)2class Bitset(object):34def __init__(self, size):5self.a = 06self.size = size7self.cnt = 089def fix(self, idx):10if self.a & (1 << idx) == 0:11self.a |= 1 << idx12self.cnt += 11314def unfix(self, idx):15if self.a & (1 << idx):16self.a ^= 1 << idx17self.cnt -= 11819def flip(self):20self.a ^= (1 << self.size) - 121self.cnt = self.size - self.cnt2223def all(self):24return self.cnt == self.size2526def one(self):27return self.a > 02829def count(self):30return self.cnt3132def toString(self):33a = bin(self.a)[2:]34return a[::-1] + "0" * (self.size - len(a))