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

书籍在行列都排好序的矩阵中找数(8)0626

题目:

给定一个有N*M的整型矩阵matrix和一个整数K,matrix的每一行和每一列都是排好序的。实现一个函数,判断K是否在matrix中。

0        1        2        5

2        3        4        7

4        4        4        8        

5        7        7        9

如果K为7,返回true;如果K为6,返回false。

解答:

符合要求的解法比较巧妙且易于理解。

可以用以下步骤解决:

1、从矩阵最右上角的数开始寻找(row = 0,col=M - 1)。

2、比较当前数matrix[row][col]与K的关系:

 如果与K相等,说明已找到,直接返回true。

如果比K大,因为矩阵每一列都已排好序,所以在当前数所在的列中,处于当前数下方的数都会比K大,则没有必要继续在第col列上寻找,令col=col-1,重复步骤2.

如果比K小,因为矩阵每一行都已排好序,所以在当前数所在的行中,处于当前数左方的数都会比K小,则没有必要继续在第row行上寻找,令row = row + 1,重复步骤2。

public boolean isContains(int[][] matrix,int K){int row = 0;int col = matrix[0].length - 1;while(row <  matrix.length && col > -1){if(matrix[row][col] == K){return true;}else if(matrix[row][col] > K){col--;}else{row++;}}return false;
}

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

相关文章:

  • 【音视频】Ubuntu下配置ffmpeg库
  • Maven Javadoc 插件使用详解
  • 【WebSocket】学习总结
  • Python 数据分析与可视化 Day 8 - Pandas 高级操作技巧
  • MFC制作动态波形图( ChartCtrl)
  • Python(一)实现一个爬取微信小程序数据的爬虫+工程化初步实践
  • 【FR801xH】Ubuntu24.04搭建富芮坤FR801xH系列开发环境教程
  • 美团京东Clean Architecture实战
  • 【算法深练】栈特性的解题密码:LIFO规则在题型中的灵活运用
  • 生僻字处理工具类
  • 价格敏感带争夺战!澳洲电商双雄增长密码,3大本土护城河尚存
  • C# 项目使用obfuscar混淆
  • 华曦达港股IPO递表,AI Home生态构建智能生活新蓝图
  • 2025 Java开发生态全景图:云原生、AI与性能优化的技术融合
  • 广州华锐互动:技术与创意双驱动的 VR 先锋​
  • 基于组件的软件开发(CBSD)与面向服务的架构(SOA)的对比分析
  • Android-Layout Inspector使用手册
  • VSCode插件开发
  • Vue3 中 toRef 与 toRefs 的深度解析与实战应用
  • Sentinel 授权规则详解与自定义异常处理
  • 【机器学习第一期(Python)】梯度提升决策树 GBDT
  • 【机器学习第二期(Python)】优化梯度提升决策树 XGBoost
  • Linux命令-Searching-locate
  • Docker compoes与私有仓库部署
  • 基于vue3+ByteMD快速搭建自己的Markdown文档编辑器
  • Midscene.js:使用 LLMs.txt 快速生成 AI 自动化测试用例「喂饭教程」
  • [Andrej Karpathy] 大型语言模型作为新型操作系统
  • 华为OD 机试 2025-黑板上色
  • 【25软考网工】第十章 网络规划与设计(2)网络规划与分析、网络结构与功能
  • 如何进行 iOS App 混淆加固?IPA 加壳与资源保护实战流程