LeetCode240. 搜索二维矩阵 II(巧妙转换)

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

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

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

  • 题目中最关键的信息就是每行从左到右升序,每列从左到右升序,如果暴力的话就用不到这两个条件,肯定是不行的,我先开始看见这两个条件是想通过二分来解决,但每行都进行二分的话比较浪费时间,就限定了一个小一点的范围,然后将这个范围中的数添加到一个数组中,然后排序在进行二分,这个思路也是比较麻烦的,在看完路飞大佬的题解后豁然开朗。
  • 因为它的行列都有序,如果我们将他旋转45°的话不就是一棵二叉搜索树,根节点是我们矩阵中的坐下和右上,然后在从跟向下遍历时,每次记录当前节点并和target进行比较即可
java 复制代码
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        // 将该矩阵旋转45°就是一个二叉搜索树,根节点为左下或右上数据,记录遍历到的节点和target
        // 进行比对即可
        int m = matrix.length, n = matrix[0].length;
        int i = m - 1, j = 0;
        int flag = matrix[i][j];
        while(i >= 0 && i < m && j >= 0 && j < n){
            flag = matrix[i][j];
            if(flag == target) return true;
            if(target > flag) j ++;
            else i --;
        }
        return false;
    }
}
  • 这个思路真的是太强了,简单还好理解,分享给大家
相关推荐
麦豆GEO8 小时前
GEO信源布局策略:看懂大模型信源偏好,搭建动态可迭代的全域信源矩阵
大数据·人工智能·矩阵
Jmyd01231 天前
手持激光三维扫描仪技术解析:三角测量数据链路、材质适配矩阵与点云处理流程
数码相机·矩阵·材质·三维数字化
微三云 - 廖会灵 (私域系统开发)8 天前
企业大模型应用工程化思考:跳出 Demo 陷阱,构建「业务‑资产‑Agent」三层落地架构
人工智能·矩阵·重构
tryxr8 天前
矩阵的几种基础变换
java·数据结构·算法·矩阵
俗人六哥AI企业获客盈利系统9 天前
知识库才是AI落地的分水岭
人工智能·线性代数·矩阵·自动化
微三云 - 廖会灵 (私域系统开发)10 天前
私域电商多端商城系统架构实践:小程序 / APP / H5 一套后端如何落地
矩阵·重构·零售
微三云 - 廖会灵 (私域系统开发)10 天前
多端商城统一账号体系设计实践:小程序 / APP / H5 登录打通与账号合并
矩阵·重构·自动化·零售
智购无人售货机厂家13 天前
2026自动售货机品类拓展逻辑:从饮料零食到鲜食药品文创的工程实践~YH
服务器·人工智能·单片机·线性代数·矩阵
IT小白杨14 天前
社媒多账号运营的环境隔离:一张图谱模型,解释清“为什么换IP还是被连坐“
经验分享·笔记·矩阵·指纹浏览器
镜像视界(浙江)科技有限公司15 天前
《视频孪生之上:二维展示终结,三维空间计算重构城市逻辑》——跨摄像连续表达 × 三角测量厘米级定位 × 动态轨迹建模,构建新一代城市空间
大数据·人工智能·算法·矩阵·音视频·空间计算