题目链接
计算机软件能力认证考试系统http://118.190.20.162/view.page?gpid=T127
题目分析
该题和上一题有一定的联系(【点此查看上一题解析】),但情况更加复杂。在上一题中,只需遍历一次数组便可以得到结果,每次只需处理一个元素。而在本题中,对于每一个元素都需要处理其范围内的一个小矩阵。若使用暴力法求解,虽然能得到正确的结果;但时间复杂度较高,超过了要求的时间。因此优化如下:
以 r=3 时为例,对于非边角的像素点。每一个像素点都需要计算一个 7 乘 7 的矩阵来判断是否达到阈值。若是 r 再大一些,计算的开销将以平方级增长。
在优化后,把每个像素点对应的区域分作主区域和副区域。副区域为最左侧一列元素,剩余元素为主区域。