Leetcode 剑指 Offer 04 二维数组中的查找

剑指offer 面试题4中的解答方法.

P.S.

  1. 需要对二维数组进行判断
  2. 力扣里输入的是一个二维数组,因此在找二维数组里数值时应该用matrix[i][j]的格式
  3. 这里的* matrixColSize是因为在定义matrix的时候其地址在 imatrixColSize+j的位置,所以当j=0的时候,指向的就是imatrixColSize位置,**matrix的地址(*matrix)就是列的长度

用时和内存以及代码如下:
Leetcode 剑指 Offer 04 二维数组中的查找_第1张图片

bool findNumberIn2DArray(int** matrix, int matrixSize, int* matrixColSize, int target)
{
    int row =   matrixSize  -   1;
    int col =   0;

    if  (matrixSize <=  0   ||  *matrixColSize<=0)
    return  false;

    while   (col < *matrixColSize &&  row>=0)
    {
        if  (matrix[row][col]  ==  target)
        return  true;

        else    if  (matrix[row][col]  >  target)
        row--;

        else
        col++;

    }

    return  false;
}

你可能感兴趣的:(c语言,leetcode,算法)