本题可以使用 位运算 + 模拟。
我们只需要关注二进制中每个 1 出现的位置。 如果相邻两个 1 的位置差为 gap,那么它们之间 0 的数量就是:
1
gap
0
gap - 1
对于一个二进制数,我们定义相邻两个 111 之间 000 的数量为他们两个之间的距离,如 100101110010111001011,相邻两个 111 之间的距离从左到右分别为 222、111、000。
现在如果一个整数转化为二进制数满足如下条件:
本题属于以下题库,请选择所需题库进行购买
ScanQRCodePrompt
请使用微信扫描下方二维码完成注册