LeetCode74.搜索二维矩阵

各位客官们,大家好,今天我将给大家讲一个关于二维搜索矩阵的简单方法,大家如果觉得好的话不妨给个免费点赞吧^ _ ^.

题目要求,如图所示:

此题我用的是堆的形式直接把二维数组转为一级数组,然后再用二分查找的方式,就能直接判别目标值了,代码如图所示:

c 复制代码
int Binary_search(int* arr,int length,int target)
{
    int left = 0;
    int right = length - 1;
    while(left <= right)
    {
        int mid = (left + right) / 2;
        if(arr[mid] == target)
        {
            return 1;
        }else if(target > arr[mid]){
            left = mid + 1;
        }else{
            right = mid - 1;
        }
    }
    return 0;
}
bool searchMatrix(int** matrix, int matrixSize, int* matrixColSize, int target) {
    int col = *matrixColSize;
    int total = matrixSize * col;
    int* arr = (int*)malloc(sizeof(int) * total);
    int len = 0;
    int i = 0;
    int j = 0;
    for(i = 0;i < matrixSize;i++)
    {
        for(j = 0;j < col;j++)
        {
            arr[len] = matrix[i][j];
            len++;
        }
    }
    int ret = Binary_search(arr,len,target);
    if(ret == 1)
        return true;
    else
        return false;
}

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

相关推荐
sp_fyf_202410 分钟前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01
人工智能·深度学习·神经网络·算法·机器学习·语言模型·数据挖掘
香菜大丸31 分钟前
链表的归并排序
数据结构·算法·链表
jrrz082831 分钟前
LeetCode 热题100(七)【链表】(1)
数据结构·c++·算法·leetcode·链表
oliveira-time42 分钟前
golang学习2
算法
南宫生2 小时前
贪心算法习题其四【力扣】【算法学习day.21】
学习·算法·leetcode·链表·贪心算法
懒惰才能让科技进步2 小时前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝
Ni-Guvara3 小时前
函数对象笔记
c++·算法
泉崎3 小时前
11.7比赛总结
数据结构·算法
你好helloworld3 小时前
滑动窗口最大值
数据结构·算法·leetcode
AI街潜水的八角4 小时前
基于C++的决策树C4.5机器学习算法(不调包)
c++·算法·决策树·机器学习