0
点赞
收藏
分享

微信扫一扫

「 每日一练,快乐水题 」1252. 奇数值单元格的数目


文章目录

  • ​​🔴力扣原题:​​
  • ​​🟠题目简述:​​
  • ​​🟡解题思路:​​
  • ​​🟢C++代码:​​
  • ​​🔵结果展示:​​

🔴力扣原题:

​​1252. 奇数值单元格的数目​​

🟠题目简述:

给你一个 m x n 的矩阵,最开始的时候,每个单元格中的值都是 0。

另有一个二维索引数组 indices,indices[i] = [ri, ci] 指向矩阵中的某个位置,其中 ri 和 ci 分别表示指定的行和列(从 0 开始编号)。

对 indices[i] 所指向的每个位置,应同时执行下述增量操作:

ri 行上的所有单元格,加 1 。
ci 列上的所有单元格,加 1 。
给你 m、n 和 indices 。请你在执行完所有 indices 指定的增量操作后,返回矩阵中 奇数值单元格 的数目。

🟡解题思路:

  1. 模拟大法好;
  2. 遍历​​indices​​​,拿出​​ri/ci​​,然后对对应的行、列进行操作;
  3. 遍历​​matrix​​,计数奇数个数即可;
  4. over;

🟢C++代码:

class Solution {
public:
int oddCells(int m, int n, vector<vector<int>>& indices) {
int res = 0;
vector<vector<int>> matrix(m, vector<int>(n));
for (auto &index : indices) {
for (int i = 0; i < n; i++) {
matrix[index[0]][i]++;
}
for (int i = 0; i < m; i++) {
matrix[i][index[1]]++;
}
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (matrix[i][j] & 1) {
res++;
}
}
}
return res;
}
};

🔵结果展示:

「 每日一练,快乐水题 」1252. 奇数值单元格的数目_算法


举报

相关推荐

0 条评论