统计模拟即可。
class Solution {
public:
vector<vector<int>> onesMinusZeros(vector<vector<int>>& g) {
int n=g.size(),m=g[0].size();
vector<int> ro(n,0),rz(n,0);
vector<int> co(m,0),cz(m,0);
for(int i=0;i<n;i++){
int t=0;
for(int j=0;j<m;j++){
if(g[i][j]&1) t++;
}
ro[i]=t;
rz[i]=n-t;
}
for(int i=0;i<m;i++){
int t=0;
for(int j=0;j<n;j++){
if(g[j][i]&1) t++;
}
co[i]=t;
cz[i]=m-t;
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
g[i][j]=ro[i]+co[j]-rz[i]-cz[j];
}
}
return g;
}
};
时间复杂度:O(nm)
空间复杂度:O(nm)