思路
利用两个矩阵存储每行和每列的零的个数和一的个数
解题过程
最后对应位置一的个数减去零的个数即可
Code
class Solution {
public int[][] onesMinusZeros(int[][] grid) {
int row=grid.length;
int col=grid[0].length;
int arr1[][]=new int[row][col];
int arr2[][]=new int[row][col];
for(int i=0;i<row;i++){
int znum=0;
int onum=0;
for(int j=0;j<col;j++){
if(grid[i][j]==0) znum++;
else onum++;
}
for(int j=0;j<col;j++){
arr1[i][j]=znum;
arr2[i][j]=onum;
}
}
for(int j=0;j<col;j++){
int znum=0;
int onum=0;
for(int i=0;i<row;i++){
if(grid[i][j]==0) znum++;
else onum++;
}
for(int i=0;i<row;i++){
arr1[i][j]+=znum;
arr2[i][j]+=onum;
}
}
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
grid[i][j]=arr2[i][j]-arr1[i][j];
}
}
return grid;
}
}
作者:菜卷
链接:https://leetcode.cn/problems/difference-between-ones-and-zeros-in-row-and-column/solutions/2904908/xing-he-lie-zhong-yi-he-ling-de-chai-zhi-x2z8/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。