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;
    }
}
相关推荐
G***669117 小时前
Java区块链开发
java·开发语言·区块链
Java天梯之路17 小时前
上篇讲坑,这篇讲 “根”!Java 数据类型底层逻辑全解析
java·面试
悟空码字17 小时前
手把手搭建Java微服务:从技术选型到生产部署
java·后端·微服务
leonardee17 小时前
MySQL----case的用法
java·后端
l1t17 小时前
使用DuckDB SQL求解Advent of Code 2024第9题 磁盘碎片整理
数据库·sql·算法·duckdb·advent of code
8***B17 小时前
Java自然语言处理
java·开发语言·自然语言处理
小南家的青蛙17 小时前
LeetCode面试题 04.06 后继者
算法·leetcode·职场和发展
小王不爱笑13217 小时前
文件上传(3)
java·spring
赛贝维权申诉17 小时前
30款亚马逊热销儿童玩具,美国外观专利侵权预警!
java·开发语言
IT·小灰灰17 小时前
基于Python的机器学习/数据分析环境搭建完全指南
开发语言·人工智能·python·算法·机器学习·数据分析