剑指 Offer 04. 二维数组中的查找

题目链接

  • 本题的解法是从矩阵的右上角开始寻找目标值。
  • 根据矩阵的元素分布特性, 当目标值大于当前位置的值时将row行号++,因为此时目标值一定位于当前行的下面。
  • 当目标值小于当前位置的值时将col列号--,因为此时目标值一定位于当前列的前面。
  • 最后需要注意的一点就是退出while循环的条件(行号大于行数,列号小于0)。
package com.walegarrett.offer;

/**
* @Author WaleGarrett
* @Date 2020/12/6 17:15
*/
/*[
[1, 4, 7, 11, 15],
[2, 5, 8, 12, 19],
[3, 6, 9, 16, 22],
[10, 13, 14, 17, 24],
[18, 21, 23, 26, 30]
]*/ public class Offer_04 {
public boolean findNumberIn2DArray(int[][] matrix, int target) {
int n = matrix.length;
if(n == 0)
return false;
int m = matrix[0].length;
int x = 0;
int y = m - 1;
while(true){
if(x>=n || y<0){
return false;
}
int now = matrix[x][y];
if(target == now){
return true;
}else if(target>now){
x++;
}else{
y--;
}
}
}
}

最新文章

  1. 数据可视化-EChart2.0使用总结2
  2. less 里面 opacity的写法
  3. MySQL执行计划解读
  4. Ubuntu 登录命令和赋值命令
  5. LightOj1383 - Underwater Snipers(贪心 + 二分)
  6. How to debug PostgreSQL function with pgAdminIII
  7. HTML头部&lt;head&gt;学习
  8. javadataAbout stack and heap in JAVA(2)
  9. python win32 简单操作
  10. 2014/08/23——OJ及相关站点打开速度非常慢,训练计划login直接error!
  11. ubuntu 安装 WPS for Linux(ubuntu)字体配置(字体缺失解决办法)及卸载libreoffice
  12. SQLite 分离数据库(http://www.w3cschool.cc/sqlite/sqlite-detach-database.html)
  13. Apache的安装与配置+PHP
  14. pptpd免radius限速、限连接+自由定制功能脚本
  15. 机器学习之MCMC算法
  16. 早期自学jQuery-一入门
  17. java枚举类型
  18. ios NSURLSession后台传输
  19. url中是否加斜杠/
  20. 使用maven命令终端构建一个web项目及发布该项目

热门文章

  1. poj3580 SuperMemo (Splay+区间内向一个方向移动)
  2. 【uva 1442】Cav(算法效率)
  3. Codeforces Round #666 (Div. 2) Power Sequence、Multiples of Length 思维
  4. poj2001 Shortest Prefixes (trie树)
  5. L2-013 红色警报 (25分) 并查集复杂度
  6. Dubbo和SpringCloud的优劣势比较--总体架构
  7. js create Array ways All In One
  8. Array.fill &amp; String.padStart &amp; String.padEnd
  9. css &amp; background-image &amp; full page width &amp; background-size
  10. Nodejs file path to url path