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

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

示例:

现有矩阵 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

给定 target = 20,返回 false

class Solution {
public:
    bool searchMatrix(vector<vector<int>>& matrix, int target) {
        if (matrix.empty() || matrix[0].empty()) return false;
        if (target < matrix[0][0] || target > matrix.back().back()) return false;
        int x = matrix.size() - 1, y = 0;
        while (true) {
            if (matrix[x][y] > target) --x;
            else if (matrix[x][y] < target) ++y;
            else return true;
            if (x < 0 || y >= matrix[0].size()) break;
        }
        return false;
    }
};

240.搜索二维矩阵II相关推荐

  1. LeetCode Algorithm 240. 搜索二维矩阵 II

    240. 搜索二维矩阵 II Ideas 这题我记得在左神算法初级班里面有. 主要的思想就是定义两个指针row_index和col_index,从右上角开始逐个搜索. 如果matrix[row_ind ...

  2. 【LeetCode】【HOT】240. 搜索二维矩阵 II(抽象二叉搜索树)

    [LeetCode][HOT]240. 搜索二维矩阵 II 文章目录 [LeetCode][HOT]240. 搜索二维矩阵 II package hot;public class Solution24 ...

  3. LeetCode 240. 搜索二维矩阵 II(二分查找 分治)

    文章目录 1. 题目 2. 解题 2.1 从左下角或者右上角开始搜索 2.2 分治算法 1. 题目 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以 ...

  4. Leetcode 240.搜索二维矩阵II (每日一题 20210727 同一题)

    编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target .该矩阵具有以下特性:每行的元素从左到右升序排列. 每列的元素从上到下升序排列.示例 1:输入:matrix = ...

  5. leetcode 240. Search a 2D Matrix II | 240. 搜索二维矩阵 II(Java)

    题目 https://leetcode.com/problems/search-a-2d-matrix-ii/ 题解 方法1 思路类似于 leetcode 200. Number of Islands ...

  6. leetcode 240. 搜索二维矩阵 II

    编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素从上到下升序排列. 示例: 现有矩阵 matrix ...

  7. 240. 搜索二维矩阵 II

    编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素从上到下升序排列. 示例: 现有矩阵 matrix ...

  8. 【LeetCode笔记】240. 搜索二维矩阵II 剑指 Offer 04 二维数组中的查找(Java、指针)

    文章目录 题目描述 思路 & 代码 更新版 题目描述 两道题一样的 有序 + 搜索,明摆着二分查找 但是比较懒-选取了题解里的指针做法= = 思路 & 代码 时间复杂度O(m + n) ...

  9. [leetcode]240. 搜索二维矩阵 II

    行.列二分: class Solution {public:bool binsearch(vector<vector<int>>& matrix, int target ...

  10. LeetCode 07: T48. 旋转图像 (中等); T54. 螺旋矩阵(中等); T240. 搜索二维矩阵 II (中等)

    文章目录 T19: 48. 旋转图像 (中等) 思路 解法 1: 新增数组 解法 2: 原地旋转 T20: 54. 螺旋矩阵(中等) 思路 解法: 到边界换方向 T21: 240. 搜索二维矩阵 II ...

最新文章

  1. Android中的ListView
  2. python词云cannot open resource_centos flask验证码pil提示OSError: cannot open resource,问题解决方法...
  3. 需求用例分析之六:业务用例之科伯恩系
  4. 19、20_散点图、连接散点图、气泡图、不同颜色的散点图、直方图
  5. mysql授权远程访问
  6. php+ioncube',IonCube加密PHP程序
  7. 自己动手写DB数据库框架(增)
  8. ssh连接出现 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
  9. pdflib使用:pdf的分割与合并
  10. 黑客之门脆弱的网络传输加密【ALLyeSNO】
  11. blackberry 9630CDMA写号教程
  12. C语言版本STFT/ISTFT
  13. 华盛顿邮报专访苹果CEO库克:带领苹果是个孤独的工作
  14. 统计思维-程序员数学之概率统计_源代码
  15. greenplum的主机名更改导致无法启动问题解决
  16. 如何创建苹果开发者个人号账号P8证书
  17. 通俗易懂理解——双向LSTM
  18. 离线下载Android SDK(100%成功)
  19. Ubuntu21.10配置阿里云DNS方法
  20. 用C语言在NDS上编写程序

热门文章

  1. [转]:vue-cli3.0配置详解
  2. Cocos2d-x开发---改变父节点颜色、透明度影响子节点
  3. IAT 注入ImportInject(dll)
  4. 是时候表演真正的技术了——11个Git面试题目,你会多少?
  5. LeetCode 144. Binary Tree Preorder Traversal 20170706
  6. 基因学:大数据的大希望
  7. RH124 Chapter 2 Managing Files From the Command Line
  8. 网络安全系列之四十九 IIS6.0权限设置
  9. nullnullvc中加花
  10. Linux学习——gcc编译C程序