74. 搜索二维矩阵

74. 搜索二维矩阵

已解答

中等

相关标签

相关企业

给你一个满足下述两条属性的 m x n 整数矩阵:

  • 每行中的整数从左到右按非严格递增顺序排列。
  • 每行的第一个整数大于前一行的最后一个整数。

给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false

示例 1:

复制代码
输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
输出:true

示例 2:

复制代码
输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
输出:false

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 100
  • -104 <= matrix[i][j], target <= 104
cpp 复制代码
class Solution {
public:
    int row, col, len;

    bool bSearch(vector<vector<int>>& matrix, int target, int start, int end){
        if(end - start <= 1){
            return matrix[start / col][start % col] == target;
        }
        int mid = (start + end) / 2;
        if(matrix[mid /col][mid % col] > target){
            return bSearch(matrix, target, start, mid);
        }
        else{
            return bSearch(matrix, target, mid, end);
        }
    }


    bool searchMatrix(vector<vector<int>>& matrix, int target) {
        row = matrix.size();
        col = matrix[0].size();
        len = row * col;
        return bSearch(matrix, target, 0, len);
    }
};
相关推荐
算法备案代理2 小时前
大模型备案与算法备案,企业该如何选择?
人工智能·算法·大模型·算法备案
赛姐在努力.2 小时前
【拓扑排序】-- 算法原理讲解,及实现拓扑排序,附赠热门例题
java·算法·图论
我能坚持多久3 小时前
【初阶数据结构01】——顺序表专题
数据结构
野犬寒鸦3 小时前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
霖霖总总4 小时前
[小技巧66]当自增主键耗尽:MySQL 主键溢出问题深度解析与雪花算法替代方案
mysql·算法
rainbow68894 小时前
深入解析C++STL:map与set底层奥秘
java·数据结构·算法
wangjialelele4 小时前
平衡二叉搜索树:AVL树和红黑树
java·c语言·开发语言·数据结构·c++·算法·深度优先
xuxie994 小时前
day 21 双向链表以及循环链表
数据结构·链表
驱动探索者4 小时前
linux mailbox 学习
linux·学习·算法
ringking1235 小时前
autoware-1:安装环境cuda/cudnn/tensorRT库函数的判断
人工智能·算法·机器学习