4.19华为OD机试真题 新系统 - 8位LED控制器 (JavaPyCC++JsGo)

📅 发布时间:2026/7/8 1:21:12 👁️ 浏览次数:
4.19华为OD机试真题 新系统 - 8位LED控制器  (JavaPyCC++JsGo)
8位LED控制器2026 华为OD机试真题 4月19日华为OD上机新系统考试真题 100 分题型点击查看华为 OD 机试真题完整目录2026最新华为OD机试新系统卷 双机位C卷 真题题库目录全覆盖题库 逐点算法考点详解题目描述有一个8位LED控制器包含8个 LED灯 (编号0-7)初始状态全灭用8位二进制表示为:00000000。控制器可以接收以下三种指令:Lx:L表示点亮操作x表示LED的编号(0一7)操作得到的结果是:点亮第x个LED灯把状态设为1。Dx:D表示熄灭操作x表示LED的编号(0-7)操作得到的结果是:熄灭第x个LED灯把状态设为0。Tx:T表示切换操作x表示LED的编号(0-7)操作得到的结果是:切换第x个LED灯的状态若状态为0则变为1为1则变为0。现在给定一组指令字符串(0长度1000)按照顺序解析并执行所有的指令并返回最终8位二进制对应的整数值。 例如:“L0L1L2T1“操作表示:点亮LED0点亮LED1点亮LED2切换LED1最终二进制00000101,应整数5。2026 华为OD机试真题 4月19日华为OD上机新系统考试真题 100 分题型输入描述给定一组指令字符串(0长度1000)输出描述返回最终8位二进制对应的整数值示例1输入L0L1L2T1输出5说明1.初始000000002.L0(点亮 LED0)二进制值00000001点亮第 0 位3.L1(点亮 LED1)二进制值00000011点亮第 1 位4.L2(点亮 LED2)二进制值00000111点亮第 2 位5.D1(熄灭 LED1)二进制值00000101熄灭第 1 位6.最终二进制00000101返回对应整数5示例2输入L0L1L2L3L4L5L6L7输出255说明点亮所有LED灯最终二进制1111返回对应整数255解题思路核心思想本题要求模拟一个8位LED控制器的操作。8位LED可以用一个整数来表示初始值为0二进制 00000000。指令解析指令由两个字符组成第一个字符是操作类型L, D, T第二个字符是LED编号0-7。位运算操作L (Light)点亮第 $x$ 个LED。将第 $x$ 位设为 1。使用位或运算status | (1 x)。D (Dark)熄灭第 $x$ 个LED。将第 $x$ 位设为 0。使用位与非运算status ~(1 x)。T (Toggle)切换第 $x$ 个LED的状态。0变11变0。使用位异或运算status ^ (1 x)。结果输出执行完所有指令后直接输出该整数的十进制表示即可。复杂度分析时间复杂度$O(N)$其中 $N$ 是输入字符串的长度。我们需要遍历一遍字符串来解析并执行指令。空间复杂度$O(1)$只需要一个整数变量来存储LED的