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;
    }
}
相关推荐
Coder-magician21 分钟前
《代码随想录》刷题打卡day51:图论-part09(dijistra堆优化,Bellman_ford算法)
算法·图论
Nil20829 分钟前
leetcode 763划分字母区间
算法·leetcode·职场和发展
不会就选b40 分钟前
算法日常・每日刷题--<动态规划>20
算法·leetcode·动态规划
青少儿编程课堂2 小时前
迪杰斯特拉(Dijkstra)算法:单源最短路与赛场路线规划
c++·python·算法·bfs·信息学竞赛
不会就选b2 小时前
算法日常・每日刷题--<动态规划>19
算法·leetcode·职场和发展
没有钱的钱仔3 小时前
协方差矩阵含义
算法·机器学习·矩阵
垆边人似月.3 小时前
华为机试题 :和为 K 的子数组个数
算法·leetcode·华为
三*一3 小时前
优化修整算法
前端·javascript·算法
达子6664 小时前
RUST 图解 第 3 章:通用编程概念(Common Programming Concepts)
开发语言·算法·rust