通过万岁!!!
- 题目:给你两个数m和n和一个数组indices(大小是x*2的),然后将构建一个大小为m和n的数组,你要将indices中存储的行和列的对应到你构建的数组中。使其值+1。例如indices的第一行值为3、4,那么你就要将构建的数组的第4行都+1,将第5列都+1。最后查看你构建的数组有多少个奇数
- 思路:最简单的,直接就构建,模拟这个过程。这样的空间复杂其实挺高的。应该是可以构建一个长度为m的和长度为n的两个即可。
- 技巧:无
java代码
class Solution {
public int oddCells(int m, int n, int[][] indices) {
int[][] map = new int[m][n];
for (int i = 0; i < indices.length; i++) {
// 这一行
for (int j = 0; j < n; j++) {
map[indices[i][0]][j]++;
}
// 这一列
for (int j = 0; j < m; j++) {
map[j][indices[i][1]]++;
}
}
int ans = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (map[i][j] % 2 == 1) {
ans++;
}
}
}
return ans;
}
}
- 总结:题目比较简单,就是模拟这个过程即可。