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.初始:00000000

2.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变1,1变0。使用位异或运算:status ^= (1 << x)
  • 结果输出:执行完所有指令后,直接输出该整数的十进制表示即可。

复杂度分析

  • 时间复杂度O(N),其中 N 是输入字符串的长度。我们需要遍历一遍字符串来解析并执行指令。
  • 空间复杂度O(1),只需要一个整数变量来存储LED的
相关推荐
李燚1 天前
RAG 流水线设计:Eino 的 Loader → Transformer → Indexer → Retriever(第60篇-E46)
人工智能·深度学习·transformer·agent·rag·aiagent·eino
hoLzwEge1 天前
CLAUDE.md:为 Claude Code 注入项目记忆
深度学习·程序员·代码规范
金斗潼关1 天前
使用MLP神经网络模型预测质数
人工智能·深度学习·神经网络
吃好睡好便好1 天前
MATLAB中图像的读取、写入和显示
开发语言·图像处理·学习·计算机视觉·matlab
小保CPP2 天前
OpenCV C++基于模糊数学的图像修复
c++·人工智能·opencv·计算机视觉
心运软件2 天前
基于深度学习的IMDB电影评论情感分析完整实现
人工智能·pytorch·深度学习·数据分析
wuling1292 天前
李沐《动手学深度学习》(Dive into Deep Learning)d2l 安装记录
人工智能·深度学习
满怀冰雪2 天前
09-使用 paddle.nn 构建第一个多层感知机
python·深度学习·神经网络·paddle
深圳市快瞳科技有限公司2 天前
宠物行为识别:将日常行为转化为可量化的健康指标
人工智能·算法·计算机视觉·宠物
小保CPP2 天前
OpenCV C++基于模糊数学的图像滤波
c++·人工智能·opencv·计算机视觉