面试算法-154-搜索二维矩阵 II

题目

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:

每行的元素从左到右升序排列。

每列的元素从上到下升序排列。

示例 1:

输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 5

输出:true

java 复制代码
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
    	// 核心点在于右上角那个元素
        int m = matrix.length;
        int n = matrix[0].length;
        int row = 0;
        int col = n - 1;
        while (row < m && col >= 0) {
            if (matrix[row][col] == target) {
                return true;
            } else if (matrix[row][col] < target) {
                row++;
            } else {
                col--;
            }
        }
        return false;
    }
}
相关推荐
Via_Neo9 分钟前
乘积最大问题
数据结构·算法
CN-Dust15 分钟前
【C++专题】格式化输出与输入
开发语言·c++·算法
自我意识的多元宇宙26 分钟前
数据结构----插入排序
数据结构·算法·排序算法
im_AMBER26 分钟前
Leetcode 162 除了自身以外数组的乘积 | 接雨水
开发语言·javascript·数据结构·算法·leetcode
Westward-sun.28 分钟前
YOLO目标检测算法与mAP评估指标详解(附示例)
算法·yolo·目标检测
cpp_250137 分钟前
P1873 [COCI 2011/2012 #5] EKO / 砍树
数据结构·c++·算法·题解·二分答案·洛谷·csp
啊哦呃咦唔鱼39 分钟前
leetcodehot100-347. 前 K 个高频元素
数据结构·算法·leetcode
玛丽莲茼蒿40 分钟前
Leetcode hot100 多数元素【简单】
算法·leetcode·职场和发展
AbandonForce40 分钟前
Map类:pair键值对|map的基本操作|operator[]
开发语言·c++·算法·leetcode
澈20742 分钟前
C++核心:封装与static静态成员实战指南
开发语言·c++·算法