LeetCode 240 搜索二维矩阵||

1.题目要求:

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

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

实列:
在这里插入图片描述

在这里插入图片描述
2.各位大佬们,大家好,此题我用的方法是一行一行的找,虽然比较繁琐,但也容易理解:
1.首先我们创建一个能在一行中遍历的函数:

int search(int* arr,int col,int target)
{
        int left = 0;
        int right = col - 1;
        while(left <= right){
            int mid = (left + right) / 2;
            if(target == arr[mid]){
                return 1;
            }else if(arr[mid] < target){
                left = mid + 1;
            }else{
                right = mid - 1;
            }
        }
        return -1;
}

其实这也相当于二分查找;
2.用循环把每一行的数传入函数中:

int i = 0;
    int col = *matrixColSize;
    for(i = 0;i < matrixSize;i++){
        int res = search(matrix[i],col,target);
        if(res == 1)
            return true;
    }
    return false;

以下代码块为全部代码:

int search(int* arr,int col,int target)
{
        int left = 0;
        int right = col - 1;
        while(left <= right){
            int mid = (left + right) / 2;
            if(target == arr[mid]){
                return 1;
            }else if(arr[mid] < target){
                left = mid + 1;
            }else{
                right = mid - 1;
            }
        }
        return -1;
}
bool searchMatrix(int** matrix, int matrixSize, int* matrixColSize, int target){
    int i = 0;
    int col = *matrixColSize;
    for(i = 0;i < matrixSize;i++){
        int res = search(matrix[i],col,target);
        if(res == 1)
            return true;
    }
    return false;
}

好了,这就是我的代码了,大家如果觉得好的话,就给个免费的赞吧,谢谢了^ _ ^

相关推荐

最近更新

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

    2024-07-15 11:00:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 11:00:03       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 11:00:03       58 阅读
  4. Python语言-面向对象

    2024-07-15 11:00:03       69 阅读

热门阅读

  1. 泌尿系统疾病病人的护理

    2024-07-15 11:00:03       24 阅读
  2. SpringBoot,有哪些优点?

    2024-07-15 11:00:03       18 阅读
  3. Qt/QML学习-自定义CheckBox

    2024-07-15 11:00:03       26 阅读
  4. Django会话机制

    2024-07-15 11:00:03       21 阅读
  5. 计算机网络 TCP粘包问题

    2024-07-15 11:00:03       23 阅读
  6. 洛谷P8839~8841题解

    2024-07-15 11:00:03       19 阅读
  7. 机器学习-16-分布式梯度提升库XGBoost的应用

    2024-07-15 11:00:03       27 阅读
  8. hot100 | 九、图论

    2024-07-15 11:00:03       26 阅读
  9. day2 上下文Context

    2024-07-15 11:00:03       22 阅读