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;
    }
}
相关推荐
plainGeekDev12 分钟前
MVC 写法 → MVVM
android·java·kotlin
SL_staff41 分钟前
3周搭完MES系统:JVS低代码+JVS-IoT物联网的实战记录
java·前端·低代码
MacroZheng1 小时前
斩获20w star!Claude Code最强插件,AI编程必备!
java·人工智能·后端
kisshyshy1 小时前
从递归到迭代,一文吃透二叉树的核心知识与 JavaScript 实现
javascript·算法·代码规范
唐青枫2 小时前
Java Spring WebFlux 实战指南:用 Mono、Flux 和 WebClient 写响应式接口
java·spring
To_OC12 小时前
LC 49 字母异位词分组:想到哈希表很简单,选对 key 才是精髓
javascript·算法·leetcode
小bo波15 小时前
使用Thread子类创建线程 VS 使用Runnable接口创建线程的区别
java·多线程·thread·并发编程·runnable
SamDeepThinking16 小时前
高并发场景下,CompletableFuture与ForkJoinPool该如何取舍?
java·后端·面试
用户9385156350717 小时前
从 O(n²) 到 O(nlogn):一文读懂快速排序的“快”与“妙”
javascript·算法
To_OC18 小时前
手写快排次次翻车?别死背快排模板了,这才是面试官想听的底层逻辑
javascript·算法·排序算法