1252. 奇数值单元格的数目



这个题的难点就是真的就是读懂题意,也就是理解多维数组是横坐标纵坐标是咋回事 ,就可以迎刃而解,
解释:最开始的矩阵是 [[0,0,0],[0,0,0]]。
输入:n = 2, m = 3, indices = [[0,1],[1,1]]
输出:6
解释:最开始的矩阵是 [[0,0,0],[0,0,0]]。
第1次[0,1]操作 先对第0行加1处理[[1,1,1],[0,0,0]] 然后对对第1列加1处理[[1,2,1],[0,1,0]]。
第2次[1,1]操作 先对第1行加1处理[[1,2,1],[1,2,1]] 然后对对第1列加1处理[[1,3,1],[1,3,1]]。
最后的矩阵是 [[1,3,1],[1,3,1]],里面有 6 个奇数。
1 先构造出多维数组
2 indices 也是一个多维数组 里面的每个一个数组 第一个元素代表横行 第二个代表列
3 先对横行做加1 在对纵行加1
package mainimport "fmt"func oddCells(n int, m int, indices [][]int) int {grip :=make([][]int,n)for i:=0;i<n;i++{grip[i] = make([]int,m)}for i:=0;i<len(indices);i++{r := indices[i][0]for j:=0;j<len(grip[r]);j++{grip[r][j]++}c := indices[i][1]for j:=0;j<len(grip);j++{grip[j][c]++}}var res intfor i:=0;i<n;i++{for j:=0;j<m;j++{if grip[i][j]%2!=0{res++}}}return res}func main() {fmt.Println(oddCells(2,3,[][]int{{0,1},{1,1}}))fmt.Println(oddCells(2,2,[][]int{{1,1},{0,0}}))}

