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;
    }
}
相关推荐
前端小巷子14 分钟前
web域名解析
前端·javascript·面试
amazinging14 分钟前
北京-4年功能测试2年空窗-报培训班学测开-第五十天
python·学习·面试
然我22 分钟前
链表指针玩不转?从基础到双指针,JS 实战带你破局
前端·数据结构·算法
没有羊的王K28 分钟前
SSM框架学习DI入门——day2
java·spring boot·学习
公子绝28 分钟前
JAVA学习笔记 使用notepad++开发JAVA-003
java·学习·notepad++·java开发环境
EndingCoder30 分钟前
算法与前端的可访问性
前端·算法·递归·树形结构
似璟如你36 分钟前
Java开发八股文之基础篇+spring+集合
java·开发语言·面试
本杰明15238 分钟前
2025/7/14——java学习总结
java·开发语言·学习
星释1 小时前
优雅的Java:01.数据更新如何更优雅
java·开发语言·spring boot
LeonYangRyeon1 小时前
解锁SQL“密码”:SELECT DISTINCT END AS的深度剖析与实战指南
java·开发语言