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

LeetCode 第74题:搜索二维矩阵

给你一个满足下述两条属性的m*n整数矩阵

  • 每行中的整数从左到右按非严格递增顺序排序
  • 每行的第一个整数大于前一行的最后一个整数

给你一个整数target,如果target在矩阵中,返回true;否则返回false。

示例1:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
输出:true

示例2:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
输出:false

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 100
  • -10的4次 <= matrix[i][j], target <= 10的4次

解题思路:一次二分查找

 若将矩阵每一行拼接在上一行的末尾,则会得到一个升序数组,可以在该数组上二分找到目标元素。

bool searchMatrix(int** matrix,int matrixSize,int* matrixColSize,int target)
{int m = matrixSize,n=matrixColSize[0];int low = 0,high = m*n-1;while(low<high){int mid = (low + high )/ 2 +low;int x=matrix[mid/n][mid%n];if(x<target)  low = mid+1;else if(x>target)   high = mid-1;else  return true;}return false;
}

相关文章:

  • 动态多目标进化算法:基于迁移学习的动态多目标粒子群优化算法(TrMOPSO)求解IEEE CEC 2015,提供完整MATLAB代码
  • MATLAB提供的两种画误差矩阵的函数
  • 【MATLAB例程】追踪法制导的程序,适用于三维平面,目标是运动的,带绘图和捕获时间|附下载链接
  • 经典蓝牙 vs BLE:10 大核心差异深度对比(附高频考点 + 大厂真题)
  • 基于docker技术的单主机环境模拟测试批量客户端
  • 软件测试质量的“防”与“治”
  • 【0.1 漫画计算机组成原理】
  • PCB设计教程【大师篇】stm32开发板PCB布线(信号部分)
  • langchain从入门到精通(六)——LCEL 表达式与 Runnable 可运行协议
  • 同旺科技 USB TO SPI / I2C适配器(专业版)--EEPROM读写——B
  • 出现端口占用,关闭端口进程命令
  • LeetCode 第73题:矩阵置零
  • EngineAI 1. Start/Resume Training
  • 1.1 Linux 编译FFmpeg 4.4.1
  • Git详解:初学者完全指南
  • Git 工作流与版本管理策略
  • 日本生活:日语语言学校-日语作文-沟通无国界(1)-题目:假装写日记
  • YOLOv8分类的三种C++实现:opencv dnn/libtorch/onnxruntime
  • java 设计模式_行为型_16访问者模式
  • 深入解析ArrayList源码:从短链项目实战到底层原理
  • 扫码进入网站 怎么做/个人怎么注册自己的网站
  • 响应式网站设计/培训平台
  • 国外做外贸的网站/百度网页版登录首页
  • 网站样式模板/网站设计模板网站
  • 网站建设制作需求/如何免费注册网站
  • 做网站文案用哪个软件/搜狗网页