zoukankan      html  css  js  c++  java
  • 二维数组中的查找

    题目描述:

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

    基本思想:首先选取数组右上角的数字。如果该数字等于要查找的数字,查找过程结束;

             如果该数字大于要查找的数字,剔除这个数字所的列。

         如果该数字小于要查找的数字,剔除这个数字所在的行。

    #include <iostream>
    #include <algorithm>
    #include "string.h"
    #include "stdio.h"
    #include <vector>
    #include <deque>
    #include <stack>
    #include<map>
    #include<utility>
    #include "math.h"
    using namespace std;
    class Solution {
    public:
        bool Find(int target, vector<vector<int> > array) {
            if(array.size() == 0)
                return false;
            int i=0;
            int j=array[0].size()-1;
            while(i<array.size()&&j>=0)
            {
                   if(array[i][j]==target)
                    return true;
                else if(array[i][j]<target)
                   {
                    i++;
                }
                else
                {
                    j--;
                }
            }
            return false;
        }
    };
    int num;
    int target;
    int main() {
        cin >> num;
        cin >>target;
        vector<int> arr(num);
        vector<vector<int> > array(num);
    
        for(int i=0;i<num;i++)
        {
            for(int j=0;j<num;j++)
            {
                cin>>arr[j];
            }
            array[i]=arr;
        }
        for(int i=0;i<array.size();i++)
        {
            for(int j=0;j<array[0].size();j++)
            {
                cout<<array[i][j]<<" ";
            }
            cout<<endl;
        }
        Solution solution;
        bool result = solution.Find(target,array);
        cout<<"RESUL:"<<result<<endl;
        return 0;
    }
  • 相关阅读:
    Gerrit配置--用户配置
    repo+manifests+git方式管理安卓代码
    FLASH OTP
    Wireshark抓包分析TCP协议
    python 批量修改图片大小
    python 文件查找 glob
    python 统计单词个数
    python 图片上添加数字源代码
    python 删除文件和文件夹
    python 程序列表
  • 原文地址:https://www.cnblogs.com/omelet/p/6644534.html
Copyright © 2011-2022 走看看