当前位置:网站首页>剑指Offer 04.二位数组中的查找 线性查找
剑指Offer 04.二位数组中的查找 线性查找
2022-08-02 03:33:00 【HotRabbit.】
题目
在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
示例:
现有矩阵 matrix 如下:
[
[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]
]
给定 target = 5,返回 true。
给定 target = 20,返回 false。
限制:
0 <= n <= 1000
0 <= m <= 1000
**注意:**本题与主站 240 题相同:https://leetcode-cn.com/problems/search-a-2d-matrix-ii/
- Related Topics
- 数组
- 二分查找
- 分治
- 矩阵
思路
之前在刷二分的题时,刷到过这道题,所以一开始就想着用二分做,结果发现其实就是暴力+二分的解法
突然想到从最左下角的元素开始判断,然后就写出来了~
题解
class Solution {
public boolean findNumberIn2DArray(int[][] matrix, int target) {
if (matrix.length == 0){
return false;
}
int n = matrix.length - 1;
int m = 0;
while (n >= 0 && m <= matrix[0].length - 1){
if (matrix[n][m] == target){
return true;
}else if (matrix[n][m] < target){
m++;
}else {
n--;
}
}
return false;
}
}
边栏推荐
猜你喜欢
随机推荐
笔记本电脑充电问题
振芯GM7123C:功能RGB转VGA芯片方案简介
Lightly 支持 Markdown 文件在线编写(文中提供详细 Markdown 语法)
【plang1.4.3】语言新特性:集合
IDEA2021.2安装与配置(持续更新)
【plang 1.4.3】定时器的使用
Host your own website with Vercel
CCF刷题之旅--第一题
【plang1.4.3】编写水母动画脚本
78XX 79XX多路输出电源
VCA821可变增益放大器
【plang 1.4.5】编写坦克(双人)游戏脚本
LT8918L LVDS转MIPI芯片技术支持资料
字符串匹配(蛮力法+KMP)
滑动窗口方法
【Connect the heart rate sensor to Arduino to read the heart rate data】
哈希表解题方法
【详解】优先级队列的底层实现
关于IIC SDA毛刺的那些事
Introduction and mock implementation of list:list









