面试题4
1.从右上角或者左下角开始删除行与列
2.或者这样理解从左下或右上出发,不妨从左下出发,规定只能往右和上前进,无路可走则查找失败
bool findNumberIn2DArray(int** matrix, int matrixSize, int* matrixColSize, int target)
{
int row,col,row0,col0;
row = matrixSize;
col = *matrixColSize;
/*从右上角开始排除*/
row0 = 0;
col0 = col - 1;
if(matrixSize == 0 || matrix == NULL)
return false;
while(row0 < row && col0 >= 0)
{
if(matrix[row0][col0] == target)
return true;
else if(matrix[row0][col0] > target)//删除列
col0--;
else //删除行
row0++;
}
return false;
}