leetcode 1386
func maxNumberOfFamilies(n int, reservedSeats [][]int) int {
seats := make(map[int]byte)
for k := range reservedSeats {
if 2 <= reservedSeats[k][1] && reservedSeats[k][1] <= 9 {
seats[reservedSeats[k][0]] |= 1 << (reservedSeats[k][1] - 2)
}
}
ans := (n - len(seats)) * 2
for _, seat := range seats {
if ^seat & 0xF == 0xF || ^seat >> 2 & 0xF == 0xF || ^seat >> 4 & 0xF == 0xF {
ans++
}
}
return ans
}