leetcode 74.搜索二维矩阵

本题其实就是一个变形的二分查找而已。这里不采用两次二分或者一次二分的方法了,leetcode上是很详细的,这里就讲讲普通的思路是怎样的。

思路:首先就是把二维数组化为一维数组,这个时候一维数组需要开的大一些,不然的话会过不了一些大数据样例。依次把二维数组按行优先输入到一维数组中;

然后,就开始最常规的二分查找就行了。

上代码:

复制代码
class Solution {
public:
    bool searchMatrix(vector<vector<int>>& matrix, int target) {
        int index;
        int i,j;
        int left=0;
        int right;
        vector<int>num(10100);
        int k=0;
        for(i=0;i<matrix.size();i++){
            for(j=0;j<matrix[0].size();j++){
                num[k++]=matrix[i][j];
            }
        }
        right=k-1;
        while(left<=right){
            int mid=(right+left)/2;
            if(num[mid]==target)
            return true;
            else if(num[mid]>target)
            right=mid-1;
            else
            left=mid+1;
        }
        return false;
    }
};
相关推荐
工具派2 分钟前
视频场景检测是怎么找到切镜头位置的?三种思路与实测
算法·计算机视觉·视频
钓鱼的肝6 分钟前
csp-j-s总结(1)
c++·笔记·算法·青少年编程
流云枫6 分钟前
001-Transformer架构与Self-Attention机制深度解析
算法
生信大杂烩27 分钟前
Xenium H&E空间原位可视化——细胞轮廓、基因表达与转录本可视化
python·算法·数据分析
linx29539 分钟前
第七章 · 标准库容器、算法与 ranges
c语言·开发语言·数据结构·c++·算法
钓鱼的肝43 分钟前
csp-j-s总结(4)
c++·经验分享·笔记·算法
橘子汽水1681 小时前
Leetcode 763,45 划分字母区间 跳跃游戏II
数据结构·算法·leetcode
天天喝旺仔2 小时前
Git 内部原理深度解析:从 blob/tree/commit 对象到 packfile 与垃圾回收
数据结构·数据库·git·算法·哈希
AIGCmagic社区2 小时前
KITTI AbsRel从6.5压到5.4,Marigold V2用一张32GB卡把编辑DiT收成单步深度估计
人工智能·算法·aigc·ai多模态
青少儿编程课堂2 小时前
多源最短路与最小环(Floyd 算法图论解析)
c++·python·算法·bfs·信息学竞赛