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

网站模板打包下载郑州网站备案

网站模板打包下载,郑州网站备案,东莞常平镇地图全图,徐州网站建设网络推广文章目录题目描述题解一 无脑暴力循环题解二 初始二分法🌕博客x主页:己不由心王道长🌕! 🌎文章说明:剑指offer-二维数组中的查找🌎 ✅系列专栏:剑指offer 🌴本篇内容:对剑…

文章目录

        • 题目描述
        • 题解一 无脑暴力循环
        • 题解二 初始二分法

🌕博客x主页:己不由心王道长🌕!
🌎文章说明:剑指offer-二维数组中的查找🌎
✅系列专栏:剑指offer
🌴本篇内容:对剑指offer中的数组进行学习和解析🌴
☕️每日一语:这个世界本来就不完美,如果我们再不接受不完美的自己,那我们要怎么活。☕️
🚩 交流社区:己不由心王道长(优质编程社区)

题目描述

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

示例:

现有矩阵 matrix 如下:

[
[1, 4, 7, 11, 15],
[2, 5, 8, 12, 19],
[3, 6, 9, 16, 22],
[10, 13, 14, 17, 24],
[18, 21, 23, 26, 30]
]
给定 target = 5,返回 true。

给定 target = 20,返回 false。

限制:

0 <= n <= 1000

0 <= m <= 1000

题解一 无脑暴力循环

思路:
由于题目给出的是一个n * m 的二维数组,不考虑其他因素,只要判断数组里面有没有目标元素而言,直接双层for循环暴力解决,代码如下:

class Solution {public boolean findNumberIn2DArray(int[][] matrix, int target) {for(int i=0;i<matrix.length;i++){for(int j= 0;j<matrix[i].length;j++){if(matrix[i][j]==target){return true;}}}return false;}
}

结果:
在这里插入图片描述
想法:确实无脑暴力可解,但是这里的执行用时感觉不对劲,两层for循环,时间复杂度O(n*m),应该不算快才对。

题解二 初始二分法

思路:
在这里插入图片描述
如图所示,题目给出的是没一行都按照从左到右非递减的顺序排列,就是说其实这个数组在一维的角度来说是有顺序的,当然二维也有,仔细观察就能发现————用处就是,我们的二分法在应用的时候就需要有顺序的数组,明白了吗?
先看代码:

class Solution {public boolean findNumberIn2DArray(int[][] matrix, int target) {for(int i =0;i<matrix.length;i++){int left=0;//在while循环外侧设置,当while循环结束后可以重新给left和right赋值int right=matrix[0].length-1;//开始是在matrix[0][x]使用二分法,就是每一行使用二分,一行结束之后换到下一行while(left<=right){int middle = left+((right-left)/2);if(matrix[i][middle]==target){return true;}else if(target<matrix[i][middle]){//目标小,向左查找right=middle-1;}else{left = middle+1;}}}return false;}
}

这里在每一行上都使用了二分法,就是在每次for循环,在循环行的时候对行进行二分法。
结果
在这里插入图片描述

http://www.yayakq.cn/news/691222/

相关文章:

  • 网站界面用什么做好看的网站首页特效
  • 安庆网站制作智能wordpress
  • 星悦做任务网站是网站代码修改
  • 豆瓣网网站建设wordpress本地速度
  • 基础网站建设公司怎么写网站
  • 商业网站开发实训报告织梦网站上传图片不行
  • 网站推广的渠道163企业邮箱服务器
  • 网站参数设定永久免费网站怎么建
  • 广州低价网站建设莆田网站建站
  • 做it题的网站建盏大师排名表及落款
  • 网站建设微企东莞凤岗企业网站建设推广
  • 花钱做网站不给源码信息流广告模板
  • 试述网站开发的流程做微网站哪家好
  • 左侧菜单 网站重庆百度seo代理
  • 网站建设协议 合同顺德 网站设计
  • iis7建立网站郑州做网站那家做的好
  • 设计网站手机app客户端怎么将网站做成小程序
  • 合肥做网站的公司讯登pc软件下载网站
  • 做网站需要合同吗wordpress applyfilters
  • 商水住房城乡建设网站天津微信小程序定制公司
  • 专门做网站的软件是关键字优化软件
  • 龙岗专业做网站指数计算器
  • 网站诊断表杭州百度百科
  • 响应式网站源码下载毕节网站网站建设
  • 网站转换移动网站什么是网站建设中的专用主机
  • 网站信息化建设合同娱乐网站建设
  • 网站怎么加代码开发一套程序多少钱
  • 网站流量利用制作网站的商家
  • 做网销的网站wordpress 分类显示文章列表
  • 网站建设 硬件直播网站开发报价