一个n行m列的矩阵,初始全都是0,每次都可以操作一行或者一列自增每个数,求最后奇数的个数
这是个easy的题目,可以做到O(m+n)的空间复杂度和时间复杂度
题解:
注意到以下事实:操作偶数次等于没操作,操作奇数次相当于操作一次
我们维护每行和每列是否被操作过,假设最后有rc行被操作过,cc列被操作过
那么答案为
rc * m + cc * n - 2 * rc * cc
解释一下
rc * m + cc * n - rc * cc - rc * cc
rc * m + cc * n个数,重复计算了rc * cc 个数,实际被操作的数有rc * m + cc * n - rc * cc个,其实被重复计算的数都是偶数,所以不能算,要再减去它们。