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

算法:二维数组查找

题目描述:

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

问题解析:

这一道题还是比较简单的,我们需要考虑的是如何做,效率最快。这里有一种很好理解的思路:

矩阵是有序的,从左下角来看,向上数字递减,向右数字递增,
因此从左下角开始查找,当要查找数字比左下角数字大时。右移
要查找数字比左下角数字小时,上移。这样找的速度最快。

示例代码:

public boolean Find(int target, int [][] array) {//基本思路从左下角开始找,这样速度最快int row = array.length-1;//行int column = 0;//列//当行数大于0,当前列数小于总列数时循环条件成立while((row >= 0)&& (column< array[0].length)){if(array[row][column] > target){row--;}else if(array[row][column] < target){column++;}else{return true;}}return false;
}

http://www.mrgr.cn/news/34897.html

相关文章:

  • FlinkPipelineComposer 详解
  • 实现3D热力图
  • ⾃动化运维利器 Ansible-变量
  • 解决Oracle DECODE函数字符串截断问题的深度剖析20241113
  • 两个链表求并集、交集、差集
  • 【数据库】深入解析慢 SQL 的识别与优化策略
  • UWB为什么是首选的室内定位技术
  • 【VMware】虚拟机安装
  • 基于Java+Jsp+SpringMVC漫威手办商城系统设计和实现
  • 蓝牙技术|详谈蓝牙信道探测技术,可实现厘米级精准定位
  • Google 提供基于AI的模糊测试框架
  • Axure-本地发布,局域网内用户访问
  • 如何使用MacPorts安装tesseract来进行简单的OCR识别
  • C++中stack类和queue类
  • 【Canvas与诗词】铁马冰河入梦来
  • lambda表达式详解
  • AI赋能千人千面营销:从数据采集到精准用户画像的全流程解析
  • 亚马逊云科技的成功秘诀:韧性与持续创新的经验之道
  • .NET 一款新的内网对抗综合利用工具
  • 循环遍历把多维数组中的某个值改成需要的值
  • wpf如何进行数据绑定与动态数据操作?
  • 【电商搜索】现代工业级电商搜索技术-Ha3搜索引擎平台简介
  • 管理方法(11)-- 阿米巴经营
  • 深度学习之表示学习 - 贪心逐层无监督预训练篇
  • eBPF系列:开发流程
  • 数据科学的秘密武器:defaultdict——Python字典的自动化填充神器,让数据结构更灵活