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;
    }
}
相关推荐
indexsunny16 小时前
互联网大厂Java面试实战:基于微服务与云原生的电商场景问答解析
java·数据库·spring boot·docker·微服务·云原生·kubernetes
_深海凉_16 小时前
LeetCode热题100-爬楼梯
算法·leetcode·职场和发展
小明的IT世界16 小时前
编程智能体为何能让LLM在实际工作中表现更好
java·开发语言·人工智能·ai编程
j_xxx404_16 小时前
力扣C++算法:哈希表(存在重复元素|存在重复元素II|字母异位词分组)
算法·leetcode·散列表
穿条秋裤到处跑16 小时前
每日一道leetcode(2026.04.17):镜像对之间最小绝对距离
算法·leetcode
下地种菜小叶16 小时前
接口幂等怎么设计?一次讲清重复提交、支付回调、幂等键与防重落地方案
java·spring boot·spring·kafka·maven
codebrick16 小时前
408 数据结构:快排 / 堆排 / 归并 / 希尔 等排序算法对比(复杂度、稳定性、真题考点
数据结构·考研·算法·排序算法·408
脱氧核糖核酸__16 小时前
LeetCode热题100——240.搜索二维矩阵 II(题目+题解+答案)
c++·算法·leetcode·矩阵
YDS82916 小时前
大营销平台 —— 模板方法串联前中置抽奖规则
java·spring boot·ddd
.柒宇.16 小时前
Java八股之== 与 equals 区别
java·开发语言