0

第十课-二维数组-练习

GESP202503 四级 二阶矩阵

枚举2*2矩阵的左上角坐标。矩阵是n行m列,左上角坐标的枚举范围应该是多少?

GESP240641 黑白方块

image.png

  • 第一步:枚举所有可能的子矩阵
    • 如何唯一确认一个矩阵?知道矩阵的左上角坐标,和右下角坐标,即可唯一确定一个矩阵。所以我们可以先枚举左上角坐标,再枚举右下角坐标。
      • 一般习惯先枚举行号,再枚举列号,假设都从0开始。
      • (1,2)表示哪一个元素?(2,4)表示哪一个元素?
      • (1,2),(2,4)表示哪一个子矩阵?
      • (1,2),(1,3)是一个合法的子矩阵吗?
      • 左上角坐标(startY,startX)的取值范围:
      • 右下角坐标(endY,endX)的取值范围:
  • 第二步:判断子矩阵是否符合要求
    • 如果子矩阵符合要求,将他与当前最大子矩阵比较,更新答案

常见问题

  • 多重循环不会写
    • 可以巩固基础知识后,去语法基础训练中做【第五章:多维数组】的题目。
  • 左上角坐标,和右下角坐标,取值范围确定不对。

参考代码

image.png

GESP202409 四级 黑白方块2

image.png

上一章
第九课-嵌套数据类型(二维数组)
下一章
第十一课-前缀和