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;
    }
};

相关推荐

  1. leetcode 74.搜索矩阵

    2024-02-06 07:24:02       51 阅读
  2. LeetCode题目74:搜索矩阵

    2024-02-06 07:24:02       37 阅读
  3. LeetCode 74搜索矩阵

    2024-02-06 07:24:02       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-06 07:24:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-06 07:24:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-06 07:24:02       82 阅读
  4. Python语言-面向对象

    2024-02-06 07:24:02       91 阅读

热门阅读

  1. I3c的上拉电阻选择

    2024-02-06 07:24:02       46 阅读
  2. React 错误边界组件 react-error-boundary 源码解析

    2024-02-06 07:24:02       61 阅读
  3. golang开源定时任务调度框架

    2024-02-06 07:24:02       53 阅读
  4. 这是为什么啊!

    2024-02-06 07:24:02       54 阅读
  5. Rust消费kafka

    2024-02-06 07:24:02       48 阅读
  6. Spring boot 集成redis

    2024-02-06 07:24:02       46 阅读
  7. 【案例】--分布式”雪花算法案例

    2024-02-06 07:24:02       47 阅读
  8. Springboot使用kafka的两种方式

    2024-02-06 07:24:02       57 阅读