题目描述

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
思路法一:
* 矩阵是有序的,从左下角来看,向上数字递减,向右数字递增,
* 因此从左下角开始查找,当要查找数字比左下角数字大时。右移
* 要查找数字比左下角数字小时,上移时间复杂度O(m+n) 
法二:每行都用折半查找。时间复杂度是nlogn

AC代码:

 1 class Solution {
 2 public:
 3     bool Find(vector<vector<int> > array,int target) {
 4         int i,j,m,n;
 5         m=array.size();//行
 6         n=array[0].size();//列
 7
 8         i=0,j=m-1;
 9
10         while(i<n&&j>=0)
11         {
12             if(array[i][j]>target)
13                 j--;
14             else if(array[i][j]<target)
15                     i++;
16                         else
17                         return true;
18         }
19         return false;
20     }
21 };

转载于:https://www.cnblogs.com/SeekHit/p/5755826.html

剑指Offer 二维数组中的查找相关推荐

  1. python 二维数组长度_剑指offer二维数组中的查找【Java+Python】

    点击上方"蓝字",关注了解更多 二维数组中的查找 1. 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序 ...

  2. 剑指offer - 二维数组中的查找

    题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. /* 思路 * 矩阵是 ...

  3. 【二分法】剑指offer:二维数组中的查找

    对于二维数组中每一个一维数组,用二分查找,判断能否找到该数 leetcode专题笔记:二分法查找(1)(附leetcode题)_m0_52043808的博客-CSDN博客 代码: class Solu ...

  4. 隔一段时间查找一次 golang_剑指 offer-04 二维数组中的查找

    算法名称:二维数组中的查找 题目内容:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整 ...

  5. 剑指0ffer04.二维数组中的查找

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

  6. 剑指Offer04. 二维数组中的查找

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

  7. 剑指Offer——二维数组的查找(C语言)

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

  8. [剑指Offer]5.二维数组中的查找

    题目 在一个二维数组中,每一行都依照从左到右递增的顺序排序,每一列都依照从上到下递增的顺序排序.请完毕一个函数,输入这种一个二维数组和一个整数.推断数组中是否含有该整数. 思路 [算法系列之三十三]杨 ...

  9. 算法题001 剑指Offer 面试题三:二维数组中的查找

    剑指Offer题目1:二维数组中的查找 题目描述: http://ac.jobdu.com/problem.php?cid=1039&pid=0 在一个二维数组中,每一行都按照从左到右递增的顺 ...

最新文章

  1. android.hardware.camera2使用指南
  2. VTK:可视化之AlphaFrequency
  3. 运维大杀器来了,未来云上服务器或将实现无人值守
  4. 查看端口被占用的进程号然后结束进程(解决端口被进程占用的问题)
  5. .net面试题(一)
  6. 数字化转型方法论_老板让我搞数字化转型?成功之后,我整理了这套超全的方法论...
  7. 为什么我十分喜欢C,却很不喜欢C++
  8. [CentOs7]搭建ftp服务器(3)——上传,下载,删除,重命名,新建文件夹
  9. java instanceof和isInstance的关系 精析
  10. c++ 调用程序接口_添加系统调用(返回文件信息)
  11. 小米无线网卡linux驱动下载,Linux 下小米WIFI 的无线网卡驱动
  12. Xshell的安装及使用超详细教程
  13. CO-PA: 获利能力分析类型(基于成本核算、基于会计核算)解析
  14. go语言爬虫 - TapTap用户都喜欢些什么游戏
  15. 服务发现框架 —————— 开开开山怪
  16. java程序设计方法
  17. X264码率控制总结1——ABR,CQP,CRF
  18. linux用vi写文件内容,Linux下利用vi编辑器创建文件并写入内容 专家详解
  19. 西南政法大学计算机课程要求,新高考西南政法大学需要选哪些课程?附西南政法大学选科要求...
  20. unable to negotiate with xxxxx port xxx: no matching host key type found. Their offer: ssh-rsa

热门文章

  1. python是一门高级的计算机语言对吗_Python是一门怎样的编程语言
  2. 验证二叉搜索树Python解法
  3. wxpython 按钮跳notebook_按钮按下wxpython刷新窗口
  4. linux设置静态IP及克隆后修改IP和hostname
  5. 查看linux文件系统结构,linux的文件系统架构
  6. iview 级联选择组件_vue组件递归渲染实例
  7. 不能安装_钢厂为什么不能随意更换一氧化碳报警器安装位置
  8. undefined reference to `__errno‘ 解决办法
  9. python多版本共存 ubuntu_Linux下python3与python3的多版本共存
  10. python字符串转化为long_Java带有运算符的字符串转换为Long型