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;
    }
}
相关推荐
OtIo TALL15 小时前
redis7 for windows的安装教程
java
kobesdu15 小时前
人形机器人SLAM:技术挑战、算法综述与开源方案
算法·机器人·人形机器人
uNke DEPH16 小时前
Spring Boot的项目结构
java·spring boot·后端
xixingzhe216 小时前
idea启动vue项目
java·vue.js·intellij-idea
超级无敌暴龙兽16 小时前
和我一起刷面试题呀
前端·面试
wzl2026121316 小时前
企业微信定时群发技术实现与实操指南(原生接口+工具落地)
java·运维·前端·企业微信
凌波粒16 小时前
Java 8 “新”特性详解:Lambda、函数式接口、Stream、Optional 与方法引用
java·开发语言·idea
曹牧16 小时前
Eclipse:悬停提示(Hover)
java·ide·eclipse
oyzz12017 小时前
Spring EL 表达式的简单介绍和使用
java·后端·spring
椰羊~王小美17 小时前
随机数概念及算法
算法