leetcode——搜索二维矩阵II(java)

编写一个高效的算法来搜索 *m* x *n* 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:

  • 每行的元素从左到右升序排列。

  • 每列的元素从上到下升序排列。

示例 1:

复制代码
输入: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

示例 2:

复制代码
输入: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 = 20
输出:false

解题方法:(排除法+双指针)

1.经过对示例的分析,我们可以清晰的分析出每一次判断我们可以先检查改行的末尾元素与target的差距。

  • 如果相等,直接返回true

  • 如果小了,直接移动指针到下一行。

  • 如果大了,我们移动指针向左走。

java 复制代码
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        int i = 0; 
        int j = matrix[0].length - 1;
        while (i < matrix.length && j >= 0) {
            if (matrix[i][j] == target) {
                return true;
            } else if (matrix[i][j] < target) {
                i++;
            } else {
                j--;
            }
        }
        return false;
    }
}
相关推荐
2501_9416233210 小时前
智慧农业监控平台中的多语言语法引擎与实时决策实践
leetcode
轻抚酸~11 小时前
KNN(K近邻算法)-python实现
python·算法·近邻算法
S***267513 小时前
基于SpringBoot和Leaflet的行政区划地图掩膜效果实战
java·spring boot·后端
Yue丶越13 小时前
【C语言】字符函数和字符串函数
c语言·开发语言·算法
马剑威(威哥爱编程)13 小时前
鸿蒙6开发视频播放器的屏幕方向适配问题
java·音视频·harmonyos
JIngJaneIL13 小时前
社区互助|社区交易|基于springboot+vue的社区互助交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·社区互助
小白程序员成长日记14 小时前
2025.11.24 力扣每日一题
算法·leetcode·职场和发展
有一个好名字14 小时前
LeetCode跳跃游戏:思路与题解全解析
算法·leetcode·游戏
V***u45314 小时前
MS SQL Server partition by 函数实战二 编排考场人员
java·服务器·开发语言
这是程序猿14 小时前
基于java的ssm框架旅游在线平台
java·开发语言·spring boot·spring·旅游·旅游在线平台