leetcode在力扣 App 中打开
调试中...
调试中...
题目描述
题目描述
题解
题解
提交记录
提交记录
代码
代码
测试用例
测试用例
测试结果
测试结果
简单
相关标签
相关企业
提示

给定两个整型数字 NM,以及表示比特位置的 iji <= j,且从 0 位开始计算)。

编写一种方法,使 M 对应的二进制数字插入 N 对应的二进制数字的第 i ~ j 位区域,不足之处用 0 补齐。具体插入过程如图所示。

题目保证从 i 位到 j 位足以容纳 M, 例如: M = 10011,则 i~j 区域至少可容纳 5 位。

 

示例 1:

 输入:N = 1024(10000000000), M = 19(10011), i = 2, j = 6
 输出:N = 1100(10001001100)

示例 2:

 输入:N = 0, M = 31(11111), i = 0, j = 4
 输出:N = 31(11111)
通过次数
20.8K
提交次数
40K
通过率
51.9%

相关标签

相关企业

提示 1
把这个分成几个部分。先将精力放在清除适当的位上。

提示 2
要清除这些位,创建一个看起来像是一系列1,然后是0,然后是1的“位掩码”。

提示 3
在开始或结束时很容易创建一个0的位掩码。但是,有一堆0时,你如何在中间创建一个零位掩码?简单的做法是,为左侧创建一个位掩码,然后为右侧创建一个位掩码。然后你可以合并两边。

评论 (0)

《程序员面试金典(第 6 版)》独家授权
本书是原谷歌资深面试官的经验之作,帮助了许多想要加入脸书、苹果、谷歌等 IT 名企的求职者拿到 Dream offer。本专题的 100+ 编程面试题是在原书基础上精心挑选出来的,帮助你轻松应战 IT 名企技术面试。
© 2025 领扣网络(上海)有限公司
0 人在线
行 1,列 1
N =
1024
M =
19
i =
2
j =
6
Source