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

网站备案接入商/关键词优化是什么意思

网站备案接入商,关键词优化是什么意思,兰州网站备案,wordpress单号管理二维数组中的查找(Java实现) 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序,请完成一个函数,输入这样的一个二维数组和一个整数,…

二维数组中的查找(Java实现)

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

1 2 8 9
2 4 9 12
4 7 10 13
6 8 11 15

中,查找数字7,返回true;查找数字5,返回false.
题解:
首先,我们来谈一下最为直观的解,就是遍历一遍二维数组,时间复杂度o(n*m),空间复杂度o(1)。当然这个时间复杂度是不足以拿offer的。我们再来看看时间复杂度为o(n),空间复杂度微o(1)的算法。

当我们需要解决一个比较复杂的问题时,一个很有效的办法就是从一个具体的问题入手,通过分析简单具体的例子,试图寻找普遍的规律。
比如数组:

1 2 8 9
2 4 9 12
4 7 10 13
6 8 11 15

我们寻找7。直接的想法从左上角开始找,1小于7.那么7肯定会在1的右边或者下边。这个时候有三个区域。右边区域,下边区域和右边与下边重叠的区域,不好确定接下来该怎么搞。我们再试试从左上角开始。9大于7,那么7就只能在9的左边,不可能在9在的当前列。那么可以排除9这一列。继续找左上角,是8。8大于7排除8在的当前列。继续找左上角2。发现2小于7,那么肯定在2的下面,排除2所在的当前行。继续找左上角,找到4,发现4小于7,排除4所在的当前行。继续左上角,发现是7.找到返回。该算法每次都能排除一行或者一列。所以时间复杂度是o(n+m),空间复杂度是o(1)。

根据题目的特点,从一个具体的案例去分析,找出优解。

package Day39;import java.util.Scanner;/*** @Author Zhongger* @Description 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序,* 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数* @Date 2020.3.11*/
public class FindInMatrix {public static void main(String[] args) {int[][] matrix = new int[4][4];int number=7;Scanner scanner = new Scanner(System.in);for (int i = 0; i < matrix.length; i++) {for (int j = 0; j < matrix[0].length; j++) {matrix[i][j]=scanner.nextInt();}}FindInMatrix findInMatrix = new FindInMatrix();System.out.println(findInMatrix.findInMatrix(matrix, number));}/*** 查找方法* @param matrix 二维数组* @param number 待查找的数字* @return*/private boolean findInMatrix(int[][] matrix,int number){boolean isFind=false;int rows = matrix.length;//行数int columns = matrix[0].length;//列数int i=0;//行int j=columns-1;//列while (i<rows&&j>=0){if (matrix[i][j]==number){isFind=true;break;}else if (matrix[i][j]>number){j--;}else {i++;}}return isFind;}
}

剑指Offer上的原题,从今天开始我会每天更新算法题解,敬请关注!另外,我这里有深入理解Java虚拟机(第三版)的电子版资源,需要的话可以添加我的微信973593026.

http://www.lbrq.cn/news/1580473.html

相关文章:

  • 重庆微信网站建设多少钱/百度下载app下载安装
  • 合肥做网站/谷歌google搜索引擎入口
  • 越南做It网站推广/被公司优化掉是什么意思
  • 免费cms/深圳知名seo公司
  • 兰州网站制作cheng/旅游景区网络营销案例
  • 猫眼网站建设/网站页面
  • 余姚网站推广/免费seo在线工具
  • 石家庄商城网站建设/东莞网站快速排名提升
  • 专业郑州做网站/网址
  • 如何查看网站服务器时间/如何做好网上销售
  • 广州黄埔区做网站培训机构/线上推广方案怎么写
  • 郑州手机端网站建设/软媒win7优化大师
  • 云浮市住房城乡建设信息网网站/北京百度推广优化公司
  • 公司的网站开发费计入什么科目/苏州百度推广服务中心
  • 克隆网站后怎么做/快速排名程序
  • 技术支持 东莞网站建设母婴护理/免费建立个人网站
  • 深圳网站建设营销服务平台/广州百度推广客服电话
  • 手机版网站怎么做/网站推广的工作内容
  • 深圳网站建设公司那家好/网站seo关键词排名
  • 网站开发公司招聘/引流推广广告怎么写
  • 鹰潭门户网站建设费用/阐述网络营销策略的内容
  • 免费发帖推广平台有哪些/深圳seo优化seo优化
  • tp框架做的网站/链接买卖
  • 关于建设网站的报告/seo优化方法网站快速排名推广渠道
  • 威海建设公司网站/网站收录查询平台
  • 香河建设局网站/广东省各城市疫情搜索高峰进度
  • 网站内移动的图片怎么做的/自己接单的平台
  • 快站app制作教程/网络建站公司
  • python网站开发书籍推荐/龙岩网站推广
  • 用angular做的网站链接/2018十大网络营销案例
  • SSE流式输出分层与解耦、用户自动结束语错误处理
  • C5.3:发射极偏置和LED驱动电路
  • FlinkSql(详细讲解二)
  • ATF(TF-A)安全通告 TFV-13(CVE-2024-7881)
  • 【Elasticsearch入门到落地】16、RestClient查询文档-快速入门
  • 如何在 Ubuntu 24.04 LTS Linux 上安装 Azure Data Studio