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

62 在递增二维数组中查找target,要求用Ologn

1.代码

bool searchMatrix(int** matrix, int matrixSize, int* matrixColSize, int target) { //先找到某一行matrix[i]其中满足 target > matrix[i][0] && target < matrix[i][n-1] int up = 0; int down = matrixSize - 1; int target_row = 0; int flag = 0; int row = matrixSize; int col = matrixColSize[0]; //先二分找到所在行 while(up <= down){ int mid = (up+down)/2; if(target >= matrix[mid][0] && target <= matrix[mid][col-1]){ target_row = mid; flag = 1; break; } if(target > matrix[mid][0]){ up = mid + 1; } if( target < matrix[mid][0]){ down = mid - 1; } } if(flag == 0)//如果没有找到所要的行提前返回 return false; //此时target_row就是target所在的行,继续在matrix[target_row][]数组二分 int left = 0; int right = col - 1; while(left <= right){//等于也要查一次 否则可能漏掉 int mid = (left + right)/2; if(matrix[target_row][mid] == target) return true; if(matrix[target_row][mid] < target){ left = mid +1; } if(matrix[target_row][mid] > target){ right = mid -1; } } return false; }
http://www.jsqmd.com/news/395028/

相关文章:

  • 毕业论文必备:6个高评分AI写作平台实测分析
  • ECharts 交互组件
  • Tauri 用“系统 WebView + 原生能力”构建更小更快的跨平台应用
  • 6个优质AI写作平台测评,助力毕业论文高效完成
  • 9、PipedInputStream和PipedOutputStream的源码分析和使用方法详细分析
  • 5467896
  • 毕业论文AI工具怎么选?6款上榜平台深度评测
  • 毕业论文AI写作平台推荐:6款热门工具测评对比
  • 7856786
  • 《jEasyUI 转换 HTML 表格为数据网格》
  • 《jEasyUI 创建 RSS 阅读器》
  • 从提示词到操作系统:掌握上下文工程,开启大模型进阶之路(收藏必备)
  • Matplotlib 安装指南
  • 凸优化数学基础笔记(五):极小值点的判定条件
  • DOM 浏览器:深入解析与优化实践
  • 大年初三
  • 题解:洛谷 P1064 [NOIP 2006 提高组] 金明的预算方案
  • 基于自适应ECDF阈值和像素连通性优化的信号时频域降噪方法(MATLAB)
  • 云南收入投稿
  • linux学习第一天
  • Qt 利用TCP/IP socket通信 发送与接收结构体(简单通信协议解析)
  • 题解:洛谷 P1077 [NOIP 2012 普及组] 摆花
  • 抓住风口!转行AI大模型,收入暴涨10倍+_小白程序员快速入门大模型,抢占AI时代先机!
  • 文本创作进化:从辅助写作到内容策划的全面赋能 - 指南
  • 题解:洛谷 P1616 疯狂的采药
  • 题解:洛谷 P1802 5 倍经验日
  • 大模型训练三部曲:预训练、SFT与RLHF,小白也能看懂的大模型三步进化!
  • 基于springboot+Vue的汽车配件销售管理系统_kp8i9cgz
  • 题解:洛谷 P1049 [NOIP 2001 普及组] 装箱问题
  • 基于springboot+Vue的企业员工薪酬管理系统_n4s02htu