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;
    }
}
相关推荐
pshdhx_albert24 分钟前
AI agent实现打字机效果
java·http·ai编程
汀、人工智能1 小时前
[特殊字符] 第40课:二叉树最大深度
数据结构·算法·数据库架构·图论·bfs·二叉树最大深度
沉鱼.441 小时前
第十二届题目
java·前端·算法
赫瑞2 小时前
数据结构中的排列组合 —— Java实现
java·开发语言·数据结构
大熊背2 小时前
ISP Pipeline中Lv实现方式探究之三--lv计算定点实现
数据结构·算法·自动曝光·lv·isppipeline
西岸行者3 小时前
BF信号是如何多路合一的
算法
大熊背3 小时前
ISP Pipeline中Lv实现方式探究之一
算法·自动白平衡·自动曝光
周末也要写八哥3 小时前
多进程和多线程的特点和区别
java·开发语言·jvm
罗西的思考4 小时前
【OpenClaw】通过 Nanobot 源码学习架构---(5)Context
人工智能·算法·机器学习
惜茶4 小时前
vue+SpringBoot(前后端交互)
java·vue.js·spring boot