二维数组中的查找

题目:在一个二维数组中,每一行都按照从左到右的顺序递增,每一列都按照从上到下的顺序递增,判断一个数是否在数组中

例如:

1 2 8 9
2 4 9 12
4 7 10 13
6 8 11 15

如果对此类题型不是很了解的同学,拿到这个问题,脑海里蹦出的第一个思路就是逐个数字比较,分三种情况:

  1. 相等,结束查找过程
  2. 若<target   则i++,j++  在右边和下边继续找
  3. 若>target   则i--,j--  在左边和上边继续找

这样的做法会导致一个问题,就是每次比较导致下一次查找是两个相互重叠的区域

对此,需要考虑从右上角或左下角查找


public class Solution {public boolean Find(int [][] array,int target) {int row=0;int col=array[0].length-1;while(row<=array.length-1&&col>=0){if(target==array[row][col])return true;else if(target>array[row][col])row++;elsecol--;}return false;}
}

剑指offer笔记(四)二维数组中的查找相关推荐

  1. 萌萌媛の【剑指offer笔记】二维数组中的查找

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

  2. 【剑指offer题解】二维数组中的查找

    前言 众所周知,对于面试而言,<剑指offer>是一本"好书". 如果你和我一样是个算法菜鸡,那么最推荐的是先把剑指offer的题目搞明白,其次再去刷LeetCode等 ...

  3. 剑指offer (04):二维数组中的查找 (C++ Python 实现)

    1 题目 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 例如: ⎡⎣⎢⎢⎢12 ...

  4. 《剑指offer》——04. 二维数组中的查找——暴力法、线性查找——java实现

    文章目录 1.题目描述 2.解决方法 (1)暴力法 (2)线性查找(右上角->左下角) 参考: 1.题目描述 2.解决方法 (1)暴力法 如果不考虑二维数组排好序的特点,则直接遍历整个二维数组的 ...

  5. 剑指offer(一):二维数组中的查找

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

  6. 【剑指offer】_01 (二维数组中的查找)

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

  7. 剑指offer:2.二维数组的查找(Java版)

    备注:本文参照<剑指offer第二版> 题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数, 输入这样的一个二维数组和一个整数 ...

  8. 《剑指0ffer》刷题笔记 -01 二维数组中的查找

    参考链接 :https://cuijiahua.com/blog/2017/11/basis_1.html https://blog.csdn.net/wang454592297/article/de ...

  9. 二维数组的空间复杂度_剑指 offer 面试题精选图解 04 . 二维数组中的查找

    点击关注上方"图解面试算法", 设为"置顶或星标",一起刷 LeetCode. 作者:程序员吴师兄 今天分享的题目来源于 LeetCode 上的剑指 Offer ...

最新文章

  1. php 爬虫去重,浅谈动态爬虫与去重(续)
  2. 机房布线的最高境界……
  3. 谷歌发布颠覆性研究:不训练不调参,AI自动构建超强网络,告别炼丹一大步...
  4. protected private public 的区别
  5. Linux 字符设备驱动结构(二)—— 自动创建设备节点
  6. java callable 线程池_JAVA 线程池之Callable返回结果
  7. 2014秋应用计算机,2014年秋计算机应用基础》期末试卷A(A3版).doc
  8. 怎么找到服务器的文档,服务器怎么找到数据库
  9. 小米MIX 4真机亮屏照曝光?真全面屏 边框窄到窒息
  10. Slimer软工课设日报-2016年7月1日
  11. 在DBGrid中实现Copy、Paste功能 - DELPHI
  12. 逐行分析jQuery源码
  13. 社区团长资金分账该如何高效解决呢?
  14. 【速看】拼多多云服务平台流程信息流出
  15. python安装包时报错Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools
  16. 英语阅读——The confusing pursuit of beauty
  17. java钢铁之心,洛克人 Dash 2 EPISODE 2(第二部) - 巨大的遗产[日]下载
  18. html转成高清pdf,Javascript实现html转pdf高清版(提高分辨率)
  19. Kindle Paperwhite 越狱/加字体/支持PDF、EPUB、DjVu、FB2、CHM和DOC文档
  20. 游弋于太平洋,摆脱甜蜜的烦恼

热门文章

  1. 最适合散户最有效的成长型价值投资(一篇博文成就股票投资高手)
  2. 网络安全之信息收集(一)
  3. 百万并发下的Nginx性能优化之道,值得看!!!
  4. 面试之-----SSR优缺点
  5. python3 案例分享-seaborn demo
  6. 使用FROM装数据而报错出现argument type mismatch的原因
  7. mybatis-plus:向MySQL数据库写入二进制大数据
  8. √【大学物理】电磁学 12-16章笔记
  9. android自动切换图片,android-自动切换背景图片
  10. 面试官实战-1-素质测评起源和分析