二位数组的查找

优质
小牛编辑
120浏览
2023-12-01
#include <iostream>
#include<vector>

using namespace std;

class Solution {
public:
    bool Find(int target, vector<vector<int> > array) {
        if(array.size()!=0)
        {
            int row=0;
            int col=array[0].size()-1;
            while(row<array.size()&&col>=0)
            {
                if(array[row][col]==target)
                {
                    cout<<"yes"<<endl;
                    return true;

                }
                else if(target<array[row][col]) col--;
                else row++;
            }



        }

        cout<<"no"<<endl;
        return false;
    }
};


int main()
{
    vector<vector<int>> array={ {1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16} };
    for(int i=0;i<array.size();++i)
    {
        for(int j=0;j<array[i].size();++j)
            cout<<array[i][j]<<' ';
        cout<<endl;
    }
    Solution S;
    S.Find(5,array);
    return 0;
}