LeetCode 240 搜索二维矩阵||

1.题目要求:

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

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

实列:

2.各位大佬们,大家好,此题我用的方法是一行一行的找,虽然比较繁琐,但也容易理解:

1.首先我们创建一个能在一行中遍历的函数:

c 复制代码
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.用循环把每一行的数传入函数中:

c 复制代码
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;

以下代码块为全部代码:

c 复制代码
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;
}

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

相关推荐
untE EADO16 分钟前
SpringBoot:几种常用的接口日期格式化方法
java·spring boot·后端
一个人说晚安18 分钟前
Docker 部署 OpenClaw 并接入第三方大模型 (MiniMax) 完整排坑指南
java·开发语言·dubbo
米粒134 分钟前
力扣算法刷题 Day 29
算法·leetcode·职场和发展
wfbcg42 分钟前
每日算法练习:LeetCode 125. 验证回文串 ✅
算法·leetcode·职场和发展
We་ct43 分钟前
LeetCode 295. 数据流的中位数:双堆解法实战解析
开发语言·前端·数据结构·算法·leetcode·typescript·数据流
迷藏4941 小时前
**雾计算中的边缘智能:基于Python的轻量级任务调度系统设计与实现**在物联网(IoT)飞速发展的今天,传统云
java·开发语言·python·物联网
LSL666_1 小时前
云服务上安装nginx
java·运维·nginx
biubiubiu07061 小时前
从 Python 和 Node.js 的流行看 Java 的真实位置
java·python·node.js
我是大猴子1 小时前
队列的一些场景题以及处理方式
java
ictI CABL1 小时前
MySQL数据库的数据文件保存在哪?MySQL数据存在哪里
java