牛客--二维数组中的查找

又一道二维数组上的题,昨天刚开始的时候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的示意图:

原文地址:https://www.cnblogs.com/LUO77/p/4929354.html