二维数组中的查找

来源:互联网 发布:papi网络用语文字版 编辑:程序博客网 时间:2024/06/02 06:05
  • 时间限制:1秒空间限制:32768K
  • 通过比例:22.05%
  • 最佳记录:0ms|8552K(来自  Teacherqi)

题目描述

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


class Solution {public:bool Find(vector<vector<int> > array,int target) {        if(array[0].size()==0) return false;int row=array.size();        for(int i=0;i<row;++i){            if(quick_search(array[i],target)) return true;        }        return false;}        bool quick_search(vector<int> array,int target){        int start=0,end=array.size(),middle=(start+end)/2;        while(start<end){            if(target<array[middle]) end=middle;            else if(target>array[middle]) start=middle+1;            else if(target==array[middle]) return true;            middle=(start+end)/2;        }        return false;    }};

注意点:关于向量的向量的操作

实现方法:二分查找法

0 0
原创粉丝点击