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;
    }
}
相关推荐
2401_8785302119 分钟前
自定义内存布局控制
开发语言·c++·算法
x-cmd19 分钟前
[x-cmd] 终端里的飞书:lark-cli,让 AI Agent 拥有“实体办公”能力
java·人工智能·ai·飞书·agent·x-cmd
专注VB编程开发20年19 分钟前
PNG、GIF透明游戏角色人物输出一张图片技巧,宽度高度读取
算法
软件测试媛25 分钟前
软件测试面试题个人总结
功能测试·面试·ai软件测试
CoderCodingNo29 分钟前
【CSP】CSP-J 2025真题 | 异或和 luogu-P14359 (相当于GESP六级水平)
算法
keep intensify33 分钟前
打家劫舍3
算法·深度优先
吾日三省Java33 分钟前
SpringBoot锁设计:让你的系统不再“抢”出问题!
java·spring boot·设计思路
历程里程碑36 分钟前
Protobuf 环境搭建:Windows 与 Linux 系统安装教程
linux·运维·数据结构·windows·线性代数·算法·矩阵
keep intensify36 分钟前
岛屿数量--
算法·深度优先
XXOOXRT38 分钟前
Ubuntu搭建Java项目运行环境(JDK17+MySQL8.0)超详细教程
java·linux·mysql·ubuntu