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;
    }
}
相关推荐
找不到、了11 分钟前
有关SOA和SpringCloud的区别
java·spring·spring cloud
等等54312 分钟前
Java EE初阶——初识多线程
java·开发语言·jvm
星霜旅人42 分钟前
Java并发编程
java
David Bates1 小时前
代码随想录第41天:图论2(岛屿系列)
python·算法·图论
司小豆1 小时前
视觉-语言基础模型作为高效的机器人模仿学习范式
人工智能·算法·机器人
天上掉下来个程小白1 小时前
缓存套餐-01.Spring Cache入门案例
java·redis·spring·缓存·springboot·springcache
深色風信子2 小时前
Eclipse 插件开发 6 右键菜单
java·ide·eclipse·右键菜单
网安INF2 小时前
Apache Shiro 1.2.4 反序列化漏洞(CVE-2016-4437)
java·网络安全·apache
oioihoii2 小时前
C++23 新特性:为 std::pair 的转发构造函数添加默认实参
算法·c++23
it-搬运工2 小时前
远程调用负载均衡LoadBalancer
java·微服务·负载均衡