牛客网剑指office系列:二维数组中的查找

牛客网剑指office系列

本系列应用于想要快速提升算法水平的人,最好有一定基础

二维数组中的查找

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。


解题思路:数组是有序的


  1. 记录每一行最下面一个数 姑且称为 a
  2. 最下面一个数与target进行比较
  3. if(target>a) 那么行数++ (因为a是一列中最大的数,target仍比他大,那么就去找下一行)
  4. if(target<a) 那么列数–
  5. 直到找到target

核心代码

牛客网剑指office系列:二维数组中的查找

参考文献

《剑指Office》p38

题目网址

https://www.nowcoder.com/ta/coding-interviews