二维数组
需要理解:深刻传参
第一题 找负数
int countNegatives(int** grid, int gridSize, int* gridColSize){
int i,j ,ans =0;
int r = gridSize;
int c = gridColSize[0];
for(i = 0;i<r;i++){
for(j = 0;j<c;j++){
if(grid[i][j]<0)//写到这里才是真正的开始
++ans;
}
}
return ans;
}
c是每一行的列数 就是一维数组的长度。
代办:这题有无数种写法
第二题 对角加和
int diagonalSum(int** mat, int matSize, int* matColSize){
int r = matSize;
int c = matColSize[0];
int i;
int ans =0;
for(i = 0;i<r;i++){
ans +=mat[i][i];
}
for(i=0;i<r;i++){
if(i!=r-i-1){ //(r-i-1 )
ans +=mat[i][r-i-1];//害人不浅
}
}
return ans;
}
注意判定条件