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;
    }
}
相关推荐
Python×CATIA工业智造33 分钟前
详细页智能解析算法:洞悉海量页面数据的核心技术
爬虫·算法·pycharm
无聊的小坏坏1 小时前
力扣 239 题:滑动窗口最大值的两种高效解法
c++·算法·leetcode
黎明smaly2 小时前
【排序】插入排序
c语言·开发语言·数据结构·c++·算法·排序算法
YuTaoShao2 小时前
【LeetCode 热题 100】206. 反转链表——(解法一)值翻转
算法·leetcode·链表
YuTaoShao2 小时前
【LeetCode 热题 100】142. 环形链表 II——快慢指针
java·算法·leetcode·链表
CCF_NOI.2 小时前
(普及−)B3629 吃冰棍——二分/模拟
数据结构·c++·算法
运器1233 小时前
【一起来学AI大模型】支持向量机(SVM):核心算法深度解析
大数据·人工智能·算法·机器学习·支持向量机·ai·ai编程
Zedthm3 小时前
LeetCode1004. 最大连续1的个数 III
java·算法·leetcode
神的孩子都在歌唱3 小时前
3423. 循环数组中相邻元素的最大差值 — day97
java·数据结构·算法
YuTaoShao3 小时前
【LeetCode 热题 100】73. 矩阵置零——(解法一)空间复杂度 O(M + N)
算法·leetcode·矩阵