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;
    }
}
相关推荐
即随本心0.o12 小时前
大模型springai,Rag,redis-stack向量数据库存储
java·数据库·redis
豐儀麟阁贵12 小时前
9.1String类
java·开发语言·算法
okseekw12 小时前
Java内部类实战指南:4种类型+5个经典场景,开发效率直接拉满!
java·后端
wjm04100612 小时前
秋招ios面试 -- 真题篇(三)
ios·面试·职场和发展
三炭先生12 小时前
计算机视觉算法--第一章:概述
人工智能·算法·计算机视觉
嘟嘟w12 小时前
POST和GET的区别
java
唯道行12 小时前
计算机图形学·21 梁友栋-Barsky直线裁剪算法与三维直线裁剪
人工智能·算法·机器学习·计算机视觉·计算机图形学·opengl
魂梦翩跹如雨12 小时前
Java BigDecimal与RoundingMode的用法总结
java·算法
一入程序无退路12 小时前
若依框架导出显示中文,而不是数字
java·服务器·前端
little~钰12 小时前
线段树和扫描线结合
数据结构·算法