FLASH坏块监测系统
2026华为OD机试双机位C卷 - 华为OD上机考试双机位C卷
华为OD机试双机位C卷真题目录点击查看: 【全网首发】2026华为OD机位C卷 机考真题题库含考点说明以及在线OJ(OD上机考试双机位C卷)
题目描述
开发一个 FLASH 坏块监测系统,能够监测 FLASH 中坏块的数量。FLASH 介质以一个大小为 m×n的二维二进制矩阵表示,其中:0 表示正常,1 表示异常。最初,FLASH 介质中的所有单元格都是正常(即,所有单元格都是 0)。
系统运行过程中,FLASH 坏块不断产生:随着系统持续运行,某一个时刻 i,FLASH 介质中的某个单元格 (ri,ci)由正常变为异常。返回一个整数数组 result,其中 result[i] 是 FLASH 介质中第 i 个时刻 (ri,ci)位置变为异常后,FLASH 中坏块的数量。坏块的定义:坏块是由 4 个方向相连的异常单元格组成的“极大”块。你可以假设给定的 FLASH 介质外的所有点都是正常的。
输入描述
第一行输入和第二行输入分别为 m 和 n,表示 FLASH 介质是 m×n的二维二进制矩阵。
第三行开始的每一行表示第 ii 个时刻新增的异常位置 (ri,ci)最多 1000 个。
注意:
- 1≤m,n≤10^3
- 1≤m×n≤10^4
- 0≤ri<m
- 0≤ci<n
输出描述
一个整数数组 result,其中 result[i] 是 FLASH 介质中第 i 个时刻 (ri,ci)位置变为异常后,FLASH 中坏块的数量。
示例1
输入
4
3
1,1
2,2
3,2
0,2
1,2
输出
[1,2,2,3,1]
说明
起初,FLASH 介质被认为全部是正常的(0 代表正常,1 代表异常)。
时刻 1:位置 [1,1] 由正常状态变为异常状态。此时存在 1 个坏块。
时刻 2:位置 [2,2] 由正常状态变为异常状态。此时存在 2 个坏块。
时刻 3:位置 [3,2] 由正常状态变为异常状态。此时存在 2 个坏块。
时刻 4:位置 [0,2] 由正常状态变为异常状态。此时存在 3 个坏块。
时刻 5:位置 [1,2] 由正常状态变为异常状态。此时存在 1 个坏块。
示例2
输入
1
1
0,0
输出
[1]
说明
解题思路
核心思想
本题要求在 M × N M \times N
订阅专栏 解锁全文
&spm=1001.2101.3001.5002&articleId=158543204&d=1&t=3&u=b6128b48c98d40ec8eaa2918dce884de)
225

被折叠的 条评论
为什么被折叠?



