牛客--二维数组中的查找
又一道二维数组上的题,昨天刚开始的时候leetcode上不去了,就去牛客上面随便瞅瞅,当时看着道题就觉得,有些难度,二维数组说实话我一看到就怂。
题目描述
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 时间限制:1秒空间限制:32768K
- 通过比例:16.93%
- 最佳记录:0 ms|8552K
#include<iostream> #include<vector> using namespace std; class Solution { public: bool Find(vector<vector<int> > array,int target) { int heng=0; int m=array.size(); int shu=array[0].size()-1; while((heng<m&&shu>=0)){ if(target<array[heng][shu]) shu--; else if(target>array[heng][shu]) heng++; else if(target==array[heng][shu]) return true; } return false; } };
对于那种row什么行列实在分不清。。这道题思想我一会儿再粘出来。隐约记得这道题是做过的,结合数组本身的特点,每次尽可能多的排除掉一行或者一列。
-
下图是在二维数组中查找7的示意图: