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

蓝桥与力扣刷题(74 搜索二维矩阵)

题目:给你一个满足下述两条属性的 m x n 整数矩阵:

  • 每行中的整数从左到右按非严格递增顺序排列。
  • 每行的第一个整数大于前一行的最后一个整数。

给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。

示例 1:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
输出:true

示例 2:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
输出:false

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 100
  • -104 <= matrix[i][j], target <= 104

解题思路+代码:

代码:

class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        int m = matrix.length; //矩阵行数
        if (m == 0) return false; 
        int n = matrix[0].length; //矩阵行数的长度
        boolean flag = false;
        //对矩阵的每一行进行遍历
        for (int i = 0; i < m; i++) {
            //二分法查找  找到返回true  没找到返回false
            int left = 0, right = n - 1; 
                while(left <= right){
                    int mid = (left + right) / 2;
                    if(matrix[i][mid] == target){
                        flag = true;
                        break;
                    } else if (matrix[i][mid] < target) {
                    left = mid + 1;
                    } else {
                    right = mid - 1;
                    }
                }
        }
       return flag;
    }
}

 总结:该题主要考察矩阵和二分法的运用。要解答该题,需要掌握矩阵与二分法的相关知识。通过二分查找,并与目标值进行匹配搜索效率会更快。这道题是对矩阵中的每一行进行二分查找,实际上也可以查找每一行的最后一个值,如果大于目标值,即锁定该行再继续二分查找。否则,一直往下一行查找,直到找到目标值,未找到返回结果。当然,这道题使用暴力枚举也可以,但是遇到非常大的矩阵,暴力枚举所花费的时间会比较久,因此不太推荐。

相关文章:

  • Docker基础1
  • Jetpack Compose 生产级语言切换架构:ViewModel + Flow 的终极实现
  • 今是科技发布全新测序仪G-seq1M:以效率与精准引领基因测序新标杆
  • java后端开发day34--脑子空空如何无痛想起所有知识点--概念拟人化
  • 4月5日作业
  • 架构师面试(二十七):单链表
  • 【嵌入式学习3】UDP发送端、接收端
  • 数据库系统-数据库控制
  • 大模型快速 ASGI 服务器uvicorn
  • 石头剪刀布游戏
  • linux sudo不需要输入密码
  • 通过 itms-services 协议下载安装 IOS 应用
  • Shiro学习(六):Shiro整合CAS实现单点登录
  • JSON 是什么?通俗详解
  • Opencv计算机视觉编程攻略-第十节 估算图像之间的投影关系
  • 【力扣hot100题】(059)单词搜索
  • 华为IP(4)
  • 面试自我介绍
  • 介绍几种创意登录页(含完整源码)
  • Go语言-初学者日记(五):文件操作与 JSON 实战
  • 网站建设捌金手指下拉二八/网上国网app推广方案
  • ps个人主页设计/百度seo优化软件
  • 360网址大全电脑版/优化工具箱
  • 上海网站备案核验/网站查询域名ip
  • 做网站品/百度发视频步骤
  • 天津免费网站建站模板/友链网站