题目:
给你一个 m x n 的矩阵 M ****,初始化时所有的 0 和一个操作数组 op ,其中 ops[i] = [ai, bi] 意味着当所有的 0 <= x < ai 和 0 <= y < bi 时, M[x][y] 应该加 1。
在 执行完所有操作后 ,计算并返回 矩阵中最大整数的个数 。
算法:
思路:每次执行 M[x][y],至少有一个元素+1,所以小于min(M[x][])和min(M[][y])的位置每次都会被+1,找到ops x轴和y轴方向的最小值MinX和MinY即可
func maxCount(m int, n int, ops [][]int) int {
minX, minY := m, n
for i := 0; i < len(ops); i ++ {
minX = min(minX, ops[i][0])
minY = min(minY, ops[i][1])
}
return minX * minY
}
func min(a, b int) int {
if a < b {
return a
}
return b
}