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;
    }
}
相关推荐
毕设源码-朱学姐3 分钟前
【开题答辩全过程】以 乐康社区养老院居民信息管理系统的设计与实现为例,包含答辩的问题和答案
java
用户851160276123 分钟前
慢 SQL 如何排查和优化?
mysql·面试
进击的小头7 分钟前
第16篇:系统的稳定裕度分析
python·算法
m0_716765238 分钟前
C++提高编程--STL初识、string容器详解
java·开发语言·c++·经验分享·学习·青少年编程·visual studio
Memory_荒年9 分钟前
马年驯服不稳定服务:Resilience4j 容错救星驾到!
java·后端
卓怡学长10 分钟前
m278基于web的在线教学质量评价系统
java·数据库·spring·tomcat·maven·intellij-idea
程序员buddha10 分钟前
Java面试八股文Redis篇
java·redis·面试
用户8511602761212 分钟前
Redis 持久化机制有哪些?
redis·面试
rannn_11113 分钟前
【Redis|实战篇4】黑马点评|分布式锁
java·数据库·redis·分布式·后端
wapicn9915 分钟前
智能识别技术在生活服务领域的落地应用与前景展望
java·c++·人工智能·python·php