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

二维数组中的查找

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

C语言版本

bool Find(int target, int** array, int arrayRowLen, int* arrayColLen ) {

    // write code here

    int rowindex = 0;

    int colindex = 0;

    while(rowindex < arrayRowLen){      //当行索引没超过总行数则继续循环

        if(array[rowindex][*arrayColLen-1] < target){   //如果当前行的最后一个值(最大值)小于target,直接下一行

            rowindex++;

            continue;

        }

        if(array[rowindex][0] > target)     //如果当前行的第一个值(最小值)大于target,表示当前剩余矩阵不可能有target,退出

            return false;

       

        for(int i=0; i<(*arrayColLen); i++){    //遍历当前行

            if(array[rowindex][i] == target){   //找到就返回true

                return true;

            }

            if(array[rowindex][i] > target){    //当前值大于target,直接行+1,退出循环

                rowindex++;

                break;

            }

        }

    }

   

    return false;

}

全部评论

相关推荐

完美的潜伏者许愿简历通过:我上表jd,请求封我做后端大将军的事,北京有消息了:竟然不许!!! 他们一定是看我没有实习,这才故意驳回我的请求!
点赞 评论 收藏
分享
屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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