当前位置: 首页 > news >正文

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

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

http://www.lryc.cn/news/399441.html

相关文章:

  • 万界星空科技MES系统:食品加工安全的实时监控与智能管理
  • 【学习笔记】4、组合逻辑电路(下)
  • 使机器人在执行任务倒快递
  • 谈谈软件交互设计
  • npm install报错:淘宝镜像证书过期
  • 各种Attention|即插即用|适用于YoloV5、V7、V8、V9、V10(一)
  • 语言模型演进:从NLP到LLM的跨越之旅
  • 自动驾驶中的人机互相接管问题讨论
  • 语音识别HResults统计工具以及字根据关键词进行合并
  • lvs集群、NAT模式和DR模式、keepalive
  • zookeeper在哪里能用到
  • coco_eval 使用
  • 国产精品ORM框架-SqlSugar详解 进阶功能 集成整合 脚手架应用 专题二
  • el-table 动态添加删除 -- 鼠标移入移出显隐删除图标
  • Kafka接收消息
  • C语言 | Leetcode C语言题解之第233题数字1的个数
  • 简谈设计模式之原型模式
  • CentOS7.X系统部署Zabbix6.0版本(可跟做)
  • QT文件生成可执行的exe程序
  • 【ZooKeeper学习笔记】
  • 220V降5V芯片输出电压电流封装选型WT
  • AWS S3 基本概念
  • [XCUITest] 处理iOS权限点击授权 有哪些权限?
  • 宪法学学习笔记(个人向) Part.5
  • C语言的指针与数组
  • 计算机图形学入门28:相机、透镜和光场
  • Swift 基于Codable协议使用
  • conda激活的虚拟环境的python版本不对应
  • 深度学习概览
  • 什么是白盒测试中的静态测试?其包含哪些过程和方法?