240.搜索二维矩阵Ⅱ

纯暴力有点太唐了,不过竟然能过;还有行和列的表示我一直搞反了。。。

java 复制代码
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        
        for(int i = 0 ;i<matrix.length;i++){
            for(int j = 0 ;j<matrix[0].length;j++){
                if(matrix[i][j]==target) return true;
            }
        }
        return false;
    }
}

我第一时间想到了二分,但对行和列同时二分不会写,光对行的话nlogm的复杂度也不是很优化

然后看题解看到一种天才的想法,和二分一样都是利用递增的性质,不过二维递增可以用更好用的性质,这里背板子就行了(这是不是对行和列同时二分的特殊形式呢

java 复制代码
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        int x = 0;int y = matrix[0].length-1;
        while(x<matrix.length&&y>=0){
            if(matrix[x][y]==target) return true;
            else if(matrix[x][y]>target) y--;
            else x++;
        }
        return false;
    }
}
相关推荐
小胖xiaopangss18 分钟前
栈的压入弹出序列--牛客
数据结构·c++·算法
_给我学起来20 分钟前
前缀和数组
算法
程序员莫小特22 分钟前
老题新解|求三角形面积
开发语言·数据结构·c++·算法·信息学奥赛一本通
mc235623 分钟前
C语言指针详解
c语言·开发语言·算法
Asmalin30 分钟前
【代码随想录day 30】 力扣 763. 划分字母区间
算法·leetcode·职场和发展
小欣加油36 分钟前
leetcode 526 优美的排列
c++·算法·leetcode·职场和发展·深度优先·剪枝
代码充电宝1 小时前
LeetCode 算法题【简单】49. 字母异位词分组
java·算法·leetcode·面试·哈希算法
搂鱼1145142 小时前
(二分、思维)洛谷 P4090 USACO17DEC Greedy Gift Takers P 题解
算法
YSRM2 小时前
Leetcode+Java+图论+岛屿问题
java·算法·leetcode·图论
悠哉悠哉愿意3 小时前
【数据结构与算法学习笔记】双指针
数据结构·笔记·python·学习·算法