Leetcode面试经典150题-74.搜索二维矩阵

解法都在代码里,不懂就留言或者私信

二分查找,比较简单

java 复制代码
class Solution {
    /**解题思路:每一行有序、每一列也有序,只是整体不是严格有序的,那我们需要找一个点,只能往两个方向走,往一个方向走是变小
    往另外一个方向走是变大,我们右两种选择:左下角的点和右上角的点
    我习惯于用右上角的点 */
    public boolean searchMatrix(int[][] matrix, int target) {
        /**就一个数比较相等不相等就完事了呗 */
        if(matrix.length == 1 && matrix[0].length == 1) {
            return matrix[0][0] == target;
        }
        int curRow = 0;
        int curCol = matrix[0].length - 1;
        /**行是变大的,列是变小的,只有这一种走法,while条件是为了避免越界*/
        while(curRow < matrix.length && curCol >= 0) {
            if(matrix[curRow][curCol] == target) {
                return true;
            } else if(matrix[curRow][curCol] < target) {
                curRow ++;
            } else {
                curCol --;
            }
        }
        /**中间没有返回true说明没找到,这里返回false作为答案 */
        return false;
    }
}
相关推荐
凤凰战士芭比Q7 小时前
Nexus仓库(maven仓库、Yum仓库、APT仓库)
java·maven
864记忆7 小时前
Linux操作系统自带的测试内存泄漏的命令
java·linux·运维
Xy-unu8 小时前
[LLM]AIM: Adaptive Inference of Multi-Modal LLMs via Token Merging and Pruning
论文阅读·人工智能·算法·机器学习·transformer·论文笔记·剪枝
Hcoco_me8 小时前
算法选型 + 调参避坑指南
算法
Jul1en_8 小时前
【算法】分治-归并类题目
java·算法·leetcode·排序算法
kangk128 小时前
统计学基础之概率(生物信息方向)
人工智能·算法·机器学习
tryxr8 小时前
volatile 的作用
java·jvm·volatile·指令重排序
再__努力1点8 小时前
【77】积分图像:快速计算矩形区域和核心逻辑
开发语言·图像处理·人工智能·python·算法·计算机视觉
唯唯qwe-8 小时前
Day22: 贪心算法 | 区间问题,左/右端点排序
算法·贪心算法
独自归家的兔8 小时前
Java Robot 详解:系统级鼠标 / 键盘模拟的核心原理与实战
java·开发语言