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;
    }
}

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

相关推荐
小星星闪亮登场14 小时前
2026萌新联赛第三场-- (郑州轻工业大学)
数据结构·c++·经验分享·算法·贪心算法·排序算法·深度优先
冻柠檬飞冰走茶15 小时前
PTA基础编程题目集 7-8超速判断(C++语言实现)
开发语言·数据结构·c++·算法
玖玥拾15 小时前
LeetCode 88 合并两个有序数组
算法·leetcode
2501_9423895516 小时前
Epoch AI旗下FrontierMath的负责人Elliot Glazer
数据结构·决策树·动态规划·散列表
Hi李耶17 小时前
【LeetCode】541.反转字符串 II
算法·leetcode·职场和发展
shylyly_17 小时前
104.二叉树的最大深度
数据结构·算法·104.二叉树的最大深度
AI科技星17 小时前
曲率‑挠率与 $\boldsymbol{\omega/c}$ 的关系、精算验证及其物理意义
c语言·开发语言·线性代数·算法·决策树·机器学习·ai科技星
白白白小纯21 小时前
每日算法day3—回文链表,链表分割
c语言·数据结构·算法·leetcode
粉色大象1 天前
线性代数入门:行列式与矩阵全解析
线性代数·矩阵
zander2581 天前
35. 搜索插入位置:从边界语义理解二分查找
数据结构·算法·leetcode