240. 搜索二维矩阵 II

复制代码
https://leetcode.cn/problems/search-a-2d-matrix-ii/description/?envType=study-plan-v2&envId=top-100-liked
复制代码
首先矩阵本身具有一定的规律性,我们想要快速搜索肯定要利用,快速搜索的本质其实还是减少可能的匹配方案也就是减少分支,我们如果从(0,0)点开始搜索我们无论是往右还是往下走都是变大的,这样显然是会增加分支的,比如eg1:(0,0) = 1, target = 5,我们往右往下都可以,所以我们就需要改变开始点,一条路增大一条路减小这就满足我们的约定,右上点或左下点都可以。
java 复制代码
public class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        int m = matrix.length, n = matrix[0].length;
        int curX = 0, curY = n - 1;
        while(curX < m && curY >= 0) {
            if(matrix[curX][curY] == target) {
                return true;
            }
            if(matrix[curX][curY] < target) curX++;
            else    curY--;
        }
        return false;
    }
}
相关推荐
十年Java程序媛6 小时前
Java String、StringBuilder、StringBuffer 底层原理|字符串拼接性能与线程安全
java·开发语言·spring boot·安全·面试
SamDeepThinking6 小时前
CyclicBarrier的底层实现
java·后端·面试
我是人✓6 小时前
SpringMVC异常处理与拦截器实战揭秘
java·开发语言·后端
第六种自由6 小时前
[路飞]_Leetcode 22. 括号生成
javascript·算法·leetcode
isyoungboy6 小时前
事件驱动状态机与循环扫描状态机:两种计算模型的比较研究
算法·状态机
阿狗童鞋6 小时前
SpringSecurity权限认证实战指南
java·后端·spring
行者全栈架构师6 小时前
【鸿蒙心迹】从手机到平板、折叠屏——多端适配自查清单与踩坑实录(HarmonyOS 7.x)
前端·算法·架构
Wang's Blog7 小时前
Java 项目部署之 Docker工具快速入门: 学习路径与命令速查导引
java·学习·docker
Wang's Blog7 小时前
Java 项目部署之 Docker工具快速入门: Docker 镜像仓库
java·docker
longlongzihan7 小时前
LeetCode 24.两两交换链表中的节点:虚拟头结点与指针
算法·leetcode·链表