LeetCode:240搜索二维矩阵Ⅱ

java 复制代码
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        if(matrix == null || matrix.length == 0 || matrix[0].length == 0){
            return false;
        }

        int m = matrix.length;
        int n = matrix[0].length;
        //初始搜索位置
        int row = 0;
        int col = n -1;
        //在矩阵中搜索
        while(row < m && col >= 0){
            if(matrix[row][col] > target){
                col--;
            }else if(matrix[row][col] < target){
                row++;
            }else if(matrix[row][col] == target){
                return true;
            }
        }
        return false;
    }
}

解题思路:从右上角开始找,可以将这个矩阵看作是一个二叉搜索树,往左走小于该节点,往下走大于该节点。

相关推荐
有同事要进步25 分钟前
Leecode第68题:x的平方根
java·数据结构·算法
Pniubi43 分钟前
HashMap扩容全流程
java·开发语言·数据结构
by2099921 小时前
哈希表——快速找到数据:冲突、删除与扩容的实现
数据结构·c++·哈希算法·散列表
Code_Solitude1 天前
c语言:关于qsoet函数知识点
c语言·数据结构·算法
Nil2081 天前
leetcode 49字母异位分组
算法·leetcode·哈希算法
云的雨 雨的云1 天前
手写算法动画上位机:从排序到线性代数可视化
线性代数·算法
Pniubi1 天前
快速排序(力扣基础)(递归)
java·数据结构·算法
goujunwe1 天前
保险 GEO 信源矩阵搭建:代理人轻量化分层信源,构建 AI 认可的交叉佐证网络
人工智能·线性代数·矩阵
Samson Bruce1 天前
【数学之美】
线性代数·算法·概率论
phoenix@Capricornus1 天前
LDA 协方差矩阵(MATLAB `fitcdiscr`)
算法·matlab·矩阵