牛客之二维数组中的查找
题目描述
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
方法1:循环遍历,一个一个比较
class Solution {
public:bool Find(int target, vector<vector<int> > array) {int flag=0;int m=0;for (int i = 0; i < array.size();i++ ){for(int j=0;j<array[0].size();j++)if(target==array[i][j]){flag=1;goto judge;}}
judge:if(flag==1)return true;elsereturn false;}
};
方法2:target值分别与每行的行首和行位比较,在其中之间则遍历比较该行,没找到继续寻找符合条件的下一行
class Solution {
public:bool Find(int target, vector<vector<int> > array) {if (array.empty())return false;int flag=0;int i=0;int j=0;int len=array[0].size();while(i<array.size()&&j<len){if(target==array[i][j])//每行第一个元素{flag=1;break;}if(target<=array[i][len-1]&&target>array[i][j])//在每行的头尾之间for(int m=j;m<len;)//遍历该行if(target==array[i][m])//zhao dao{flag=1;goto judge;}elsem++;if(flag==0)//检测符合条件的该行后,继续检测下面是否有符合条件的行{j=0;i++;}}judge:if(flag==1)return true;elsereturn false;}
};
牛客之二维数组中的查找相关推荐
- 剑指Offer #01 二维数组中的查找(Java描述)
题目来源:牛客网-剑指Offer专题 题目地址:二维数组中的查找 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一 ...
- 剑指offer——面试题3:二维数组中的查找
剑指offer--面试题3:二维数组中的查找 1.笨蛋方法 复杂度为O(n2)O(n^2)O(n2) class Solution { public:bool Find(int target, vec ...
- [剑指Offer]5.二维数组中的查找
题目 在一个二维数组中,每一行都依照从左到右递增的顺序排序,每一列都依照从上到下递增的顺序排序.请完毕一个函数,输入这种一个二维数组和一个整数.推断数组中是否含有该整数. 思路 [算法系列之三十三]杨 ...
- python 二维数组长度_剑指offer二维数组中的查找【Java+Python】
点击上方"蓝字",关注了解更多 二维数组中的查找 1. 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序 ...
- 剑指offer:面试题04. 二维数组中的查找
题目:二维数组中的查找 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该 ...
- php查找二维数组下标,PHP实现二维数组中的查找算法小结
本文实例讲述了PHP实现二维数组中的查找算法.分享给大家供大家参考,具体如下: 方法1:silu从左下角最后一行的第一个元素开始,遍历.如果小于target 则遍历该行的所有元素,找到结束.如果大于继 ...
- 剑指Offer面试题:2.二维数组中的查找
一 题目:二维数组中的查找 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的二维数组和一个整数判读数组中是否含有该整数. 二 ...
- 算法题001 剑指Offer 面试题三:二维数组中的查找
剑指Offer题目1:二维数组中的查找 题目描述: http://ac.jobdu.com/problem.php?cid=1039&pid=0 在一个二维数组中,每一行都按照从左到右递增的顺 ...
- LeetCode-剑指 Offer 04. 二维数组中的查找
剑指 Offer 04. 二维数组中的查找 思路一:暴力解法,两层for循环查找 时间复杂度为:O(nm) 空间复杂度为:O(1) class Solution {public:bool findNu ...
最新文章
- 虚函数表指针,虚函数表
- 世界一流大学真的建成了?26所“985”高校自评报告出炉
- 通过Spring集成进行消息处理
- Linux 命令之 unset -- 删除指定的shell变量或函数
- 如何在Scala中将Double转换为String?
- python数据类型-元组(tuple)
- 记录一些关于操作数据库(本地和linux服务器)常用的命令
- 离散数学及其应用 第一章:集合论
- ubuntu通过命令行清除内存
- 经典的Java算法面试题
- knockoutjs与ajax,MVVM架构~knockoutjs系列之为Ajax传递Ko数组对象
- 【平面设计基础】11:配色——配色原理
- 纵享丝滑滑动切换的周月日历,水滴效果,可高度定制,仿小米日历
- 阿里技术专家甘盘:浅谈双十一背后的支付宝LDC架构和其CAP分析(含phil补充)
- RESTful API学习笔记
- 编译低版本的binutils-2.16.1错误:ld.texinfo:1592: @itemx must follow @item
- AP: Oracle EBS AP INVOICE TAX 税码计算规则(ZT)
- 干货 :超详细的AI 专家路线图!
- 人工智能的核心技术是什么?
- 推理机Jess,Racer,Jena