方法一:

思路:其实就是找到ops数组所有元素中第1个内容以及第2个内容的最小值,然后返回这两个最小值的乘积,因为这两个最小值是同属于所有要操作区域的公共区域,此时就可以返回这两个值的乘积

  1. func maxCount(m int, n int, ops [][]int) int {
  2. //排除特殊情况,如果ops数组没有或者m以及n有一个为0直接返回0
  3. if m == 0 || n == 0 || len(ops) == 0 || len(ops[0]) == 0 {
  4. return m * n
  5. }
  6. //最直接的就是求出ops中所有的ai的最小值以及所有的bi最小值,然后返回这两个数的乘积
  7. x, y := ops[0][0], ops[0][1]
  8. for i := 1; i < len(ops); i++ {
  9. if ops[i][0] < x {
  10. x = ops[i][0]
  11. }
  12. if ops[i][1] < y {
  13. y = ops[i][1]
  14. }
  15. }
  16. return x * y
  17. }