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

二维数组中的查找

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

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param target int整型 
 * @param array int整型二维数组 
 * @param arrayRowLen int array数组行数
 * @param arrayColLen int* array数组列数
 * @return bool布尔型
 */
bool Find(int target, int** array, int arrayRowLen, int* arrayColLen ) {
    // write code here
    for(int i=0,j=0;i<arrayRowLen && j<*arrayColLen;)
    {
        if(target<array[i][j])
        {
            i--;
        }
        else if(target>array[i][j])
        {
            if(i+1<arrayRowLen)
            {
                if(target < array[i+1][j])
                    j++;
                else
                    i++;
            }
            else
            {
                j++;
            }
        }
        else if(target==array[i][j])
        {
            return true;
        }

        if(i<0)
            return false;
    }
        return false;
}

全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务