题解 | #二维数组中的查找#

二维数组中的查找

https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param target int整型 
 * @param array int整型二维数组 
 * @param arrayRowLen int array数组行数
 * @param arrayColLen int* array数组列数
 * @return bool布尔型
 */

bool binarySearch(int target, int* array, int length)
{
    int left, right, mid;
  
    left = 0;
    right = length-1;

    while(left <= right)
    {
        mid = (left + right) / 2;
        if (array[mid] == target)
        {
            return true;
        }
        else if (array[mid] > target)
        {
            right = mid - 1;
        }
        else 
        {
            left = mid + 1;
        }

    }
    return false;
}

bool Find(int target, int** array, int arrayRowLen, int* arrayColLen ) {
    // write code here
    int i,j;
    bool result;

    for (i=0; i < arrayRowLen; i++)
    {
        result = binarySearch(target, &array[i][0], arrayColLen[i]);
        if (result == true)
        {
            return true;
        }
    }
    return false;
}

全部评论

相关推荐

每晚夜里独自颤抖:1600一个月?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务