zoukankan      html  css  js  c++  java
  • 《剑指offer》查找二维数组内元素 c++

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

    class Solution {
    public:
        bool Find(int target, vector<vector<int> > array)
        {
            int size_1=array.size();  //行数
            int size_2=array[0].size();    //列数
            if (!array.empty())
            {
                  for(int i=size_1-1;i>=0;i++)    //倒序遍历第一列
                  {
                      if(target>=array[i][0])    //确定在哪一行
                      {
                        for(int j=0;j<size_2;j++)    //遍历这一行
                        {
                            if(target==array[i][j])
                            {
                                cout << "get" << endl;
                                return true;
                            }   
                        } 
                      }
                  }    
            }
            return false;
        }
    };
    

    验证

    #include<iostream>
    #include<vector>
    using namespace std;
    int main(void)
    {
    	Solution s;
    	vector<vector<int> >A;    
    	for (int i = 0; i < 2; ++i)  //2行
    		A.push_back(vector<int>());
    
    	A[0].push_back(0);
    	A[0].push_back(1);
    	A[0].push_back(2);
    	A[1].push_back(3);
    	A[1].push_back(4);
    	A[1].push_back(5);
    
    	s.Find(2, A);
    	return 0;
    }
    
  • 相关阅读:
    常用的正则表达式
    Spring
    Hibernate-04
    Hibernate-03
    Hibernate-02
    Hibernate-01
    装饰器(python)
    软件工程之小组选题报告
    小组项目之需求分析与原型设计
    关于group_concat函数拼接字符超长的问题
  • 原文地址:https://www.cnblogs.com/j-c-y/p/11840576.html
Copyright © 2011-2022 走看看