【文件属性】:
文件名称:leetcode第四题-LeetCode_Exercise:力扣_练习
文件大小:4KB
文件格式:ZIP
更新时间:2021-07-01 09:31:21
系统开源
leetcode
第四题力扣_练习
位掩码
结束了一些位操作和位掩码练习,难度由低到高总结了几道非常讲的位运算和位掩码题,难度由低到高
(简单的)
(简单的)
(强烈推荐)
(中等的)
(中)(强烈推荐)
(中)(强烈推荐,即使你能想到每个元素出现4、5、6次而只有一个出现1次的问题,你怎么解决)
(中)(强烈推荐)
(难)(强烈推荐)
为什么我们需要使用Bitmask来处理一些棘手的问题?
原因1:位操作比'+-*/'等正常操作更快
原因2:位掩码可以帮助我们记录状态。
如果您使用
int
变量或布尔变量来存储状态,它将花费
4
个字节,因此您使用位
0/1
来存储状态,这将节省大量空间。
一些位掩码的操作:
1.记录状态
如果您有
8
个状态,则可以将位掩码设为
00000000,并使用“或
|”
操作以保存您的状态。
例如。
位掩码
=
00000000
new_state1
=
00001000
位掩码
|
new_state1
=
00001000
这意味着已经记录了第四个状态
new_state2
=
00010001
位掩码
|
new_state2
=
00011001
【文件预览】:
LeetCode_Exercise-master
----README.md(5KB)
----BitMask 算法上应用理解(5KB)