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;
    }
}
相关推荐
程序员阿鹏4 分钟前
责任链模式
java·spring·servlet·tomcat·maven·责任链模式
Ven%11 分钟前
从单轮问答到连贯对话:RAG多轮对话技术详解
人工智能·python·深度学习·神经网络·算法
山楂树の12 分钟前
爬楼梯(动态规划)
算法·动态规划
@淡 定14 分钟前
Java内存模型(JMM)详解
java·开发语言
谈笑也风生16 分钟前
经典算法题型之复数乘法(二)
开发语言·python·算法
智算菩萨20 分钟前
强化学习从单代理到多代理系统的理论与算法架构综述
人工智能·算法·强化学习
lhn20 分钟前
大模型强化学习总结
算法
Gigavision34 分钟前
MMPD数据集 最新Mamba算法 源码+数据集 下载方式
算法
支撑前端荣耀35 分钟前
从零实现前端监控告警系统:SMTP + Node.js + 个人邮箱 完整免费方案
前端·javascript·面试
czhc114007566338 分钟前
C# 1221
java·servlet·c#