当前位置:网站首页>剑指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;
}
}
边栏推荐
猜你喜欢
随机推荐
【多线程】线程安全保护机制
USB3.0一致性测试方法
读取FBX文件踩坑清单
【plang1.4.3】语言新特性:集合
Laptop charging problems
向龙芯2K1000板子上烧写中标麒麟系统
机械臂运动学解析
龙讯LT6911系列C/UXC/UXB/GXC/GXB芯片功能区别阐述
Altium Designer基础知识
UKlog.dat和QQ,微信文件的转移
判断子序列 —— LeetCode-392
【plang1.4.3】编写水母动画脚本
Basic IO (on): file management and descriptors
HDMI转MIPI CSI东芝转换芯片-TC358743XBG/TC358749XBG
Typora use
R语言 —— 多元线性回归
写博客的原因。
【plang 1.4.4】编写茶几玛丽脚本
bluez5.50+pulseaudio实现蓝牙音响音频播放
Introduction and mock implementation of list:list

![开源日志库 [log4c] 使用](/img/f5/cce26f5820155c537f2cd975bafbcd.png)






