当前位置: 首页 > article >正文

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

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

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

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

示例 1:

img

输入: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:

img

输入: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

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

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

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;
    }
}


http://www.kler.cn/a/517802.html

相关文章:

  • ES6 类语法:JavaScript 的现代化面向对象编程
  • 通过配置核查,CentOS操作系统当前无多余的、过期的账户;但CentOS操作系统存在共享账户r***t
  • aws(学习笔记第二十六课) 使用AWS Elastic Beanstalk
  • Java 实现Excel转HTML、或HTML转Excel
  • Day42:列表的组合
  • 使用python-docx包进行多文件word文字、字符批量替换
  • TCP 长连接和短连接
  • ubuntu22.04安装Gtsam解决Eigen不兼容问题
  • 深度学习笔记——循环神经网络之LSTM
  • 工业缺陷检测实战——基于深度学习YOLOv10神经网络PCB缺陷检测系统
  • 1.23学习记录
  • 【Feature Scaling】:加速梯度下降法的利器
  • NoSQL使用详解
  • 春节假期旅游热潮下,景区医疗安全如何全面升级?
  • 第R5周:天气预测
  • 竞赛算法总结
  • Flutter 给安卓签名时 使用 Android Studio 找不到 Generate Signed Bundle/APK 菜单问题
  • 基于 WPF 平台使用纯 C# 制作流体动画
  • 【软件测试】《软件测试计划》目录及内容概述
  • react中hooks之useDebugValue用法总结
  • 基于Springboot + vue实现的在线装修管理系统
  • FlinkSql使用中rank/dense_rank函数报错空指针
  • HashSet经典面试题
  • Git知识分享
  • 5. 马科维茨资产组合模型+政策意图AI金融智能体(Qwen-Max)增强方案(理论+Python实战)
  • 企业微信第三方应用开发006_开发配置_配置网络穿透_配置数据回调_指令回调_连接后台---企业微信开发009