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;
    }
}
相关推荐
甜味弥漫2 分钟前
深度解析 JS 中的 this 指向:从底层逻辑到实战规则
javascript·面试
洛水水12 分钟前
【力扣100题】58.轮转数组
算法·leetcode
资深流水灯工程师19 分钟前
LMS 最小均方算法在 DSP 上的 C 语言实现
算法
风筝在晴天搁浅27 分钟前
阿里 LeetCode 876.链表的中间节点
算法·leetcode·链表
RainCity31 分钟前
Java Swing 自定义组件库分享(九)
java·笔记·后端
玖釉-35 分钟前
二叉树展开为链表:从先序遍历到原地指针重排
c++·windows·算法·leetcode·链表
li星野37 分钟前
RAG优化系列:切块策略深度解析——固定长度 vs 自适应标题(含AI评估与面试指南)
人工智能·面试·职场和发展
05候补工程师39 分钟前
【408考研·数据结构专题】二叉树、树与森林、线索树及哈夫曼树核心考点与秒杀技巧深度总结
数据结构·经验分享·笔记·考研·算法
吃好睡好便好1 小时前
矩阵的加减运算
开发语言·人工智能·学习·线性代数·算法·matlab·矩阵
NE_STOP1 小时前
Docker--容器常用命令
java