通过率 11% · 提交 56 · 通过 6
在魔法王国中,炼金师们维护着一张庞大的二维能量矩阵,用于追踪各种元素的储量。 矩阵中的每一行代表一个魔法分区(类似于元素类别),每一列代表一个能量仓库。 第 `i` 行第 `j` 列的数值表示分区 `i` 中存放在仓库 `j` 的元素能量值。 现在,系统需要从旧能量矩阵 `oldMatrix` 同步至新能量矩阵 `newMatrix`。 为了节省魔力,更新操作按以下规则和顺序进行: 对于所有满足以下条件的分区(即一整行),执行一次: * 分区中包含的元素数 `>= 2`; * 且其中 `>= 50%` 的元素能量发生变化(即 `oldMatrix[i][j] != newMatrix[i][j]`)。 执行一次分区同步的耗时为 `2`,且该分区中所有元素的能量均被视为已同步。 在分区同步完成后,基于更新后的数据,对每个满足以下条件的仓库(即一整列)执行: * 仓库中包含的元素数 `>= 2`; * 且其中 `>= 50%` 的元素能量发生变化。 执行一次仓库同步的耗时为 `3`,该仓库中的所有元素视为已同步。 在前两步之后,对仍存在能量差异的单个元素,执行。 每个元素的同步耗时为 `1`。 最终,请输出完成所有同步所需的总能量耗时。
这类题属于华为可信认证科目一方向中「可信 / 哈希表」方向的高频题型,通常考察对「可信 / 哈希表」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
输入包含两个相同尺寸的矩阵 oldMatrix 与 newMatrix:
n 和 m,分别表示魔法分区数量(行数)与能量仓库数量(列数);n 行,每行 m 个非负整数,表示旧能量矩阵 oldMatrix;n 行,每行 m 个非负整数,表示新能量矩阵 newMatrix。保证:
1 <= n, m <= 100输出一个整数,表示完成同步所需的总能量耗时。
示例 1
输入示例
4 3 1 2 3 2 2 2 1 1 1 5 5 5 1 2 3 3 2 2 1 0 1 5 6 5
输出示例
4
行更新(每行耗时2) 本例中每行变化数都不到2,所以这一阶段没触发。
列更新(每列耗时3) 第2列有两格变化,因此整列更新一次,耗时3。
单格更新(每格耗时1) 只剩下(第2行, 第1列)那一格没被覆盖,耗时1。
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有