leetcode1386安全电影座位-求补集
原题链接:
https://leetcode.cn/problems/cinema-seat-allocation/
这题首先要注意到的一个信息是 1 <= n <= 10^9 即n 范围为10^9 也就是说 即使O(n) 也不行
但是有注意到 1 <= reservedSeats.length <= min(10*n, 10^4) 即要占座位的数量只有10^4 是一个比较小的数 因此可以考虑逆向求解 求出最大正确答案数 2 * n(关于正确答案也比较简单 因为根据题意最多每行只能放两个家庭 )
然后就是可以进行二进制优化 用一个二进制数代表每行的座位排列 1 表示该位已经被占 0 表示空位 将占座信息记录到hash表中 然后反向排除即可
1 | class Solution: |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 niiish32x 's blog!