国内比较好用的建筑案例网站,谷歌系平台推广,做网站主要来源,风险报告查询系统1. 题目
给你一个 n 行 m 列的矩阵#xff0c;最开始的时候#xff0c;每个单元格中的值都是 0。
另有一个索引数组 indices#xff0c;indices[i] [ri, ci] 中的 ri 和 ci 分别表示指定的行和列#xff08;从 0 开始编号#xff09;。
你需要将每对 [ri, ci] 指定的行…1. 题目
给你一个 n 行 m 列的矩阵最开始的时候每个单元格中的值都是 0。
另有一个索引数组 indicesindices[i] [ri, ci] 中的 ri 和 ci 分别表示指定的行和列从 0 开始编号。
你需要将每对 [ri, ci] 指定的行和列上的所有单元格的值加 1。
请你在执行完所有 indices 指定的增量操作后返回矩阵中 「奇数值单元格」 的数目。 来源力扣LeetCode 链接https://leetcode-cn.com/problems/cells-with-odd-values-in-a-matrix 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。
2. 解题
按照题目去模拟的效率是不高的我们用两个数组去记录各行各列出现的次数出现偶数次相当于没有变化变化的行数有r列数有c则奇数的个数应该为 r∗mc∗n−2∗r∗cr*mc*n-2*r*cr∗mc∗n−2∗r∗c
class Solution {
public:int oddCells(int n, int m, vectorvectorint indices) {int row[n] {0}, column[m] {0};for(auto xy : indices){row[xy[0]];column[xy[1]];}int countR 0, countC 0;for(auto i : row)if(i%2)countR;for(auto i : column)if(i%2)countC;return countR*m countC*n - 2*countR*countC;}
};