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

深圳石岩做网站的公司医疗网站建设服务

深圳石岩做网站的公司,医疗网站建设服务,百度最贵关键词排名,运城盐湖区姚孟信通网站开发中心1.问题描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性#xff1a; 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例#xff1a; 输入#xff1a;matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10…1.问题描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例 输入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示例 2 输入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 20 输出false2.难度等级 Medium。 3.热门指数 ★★★★☆ 4.解题思路 方法一直接查找 我们直接遍历整个矩判断 target 是否出现即可。 时间复杂度 O(mn)。 空间复杂度 O(1)。 下面以 Golang 为例给出实现。 func searchMatrix(matrix [][]int, target int) bool {for _, row : range matrix {for _, v : range row {if v target {return true}}}return false }方法二二分查找 由于矩阵中每一行的元素都是升序排列的因此我们可以对每一行都二分查找判断 targett 是否在该行中。 时间复杂度 O(mlogn)。对一行使用二分查找的时间复杂度为 O(log⁡n)最多需要进行 m 次二分查找。 空间复杂度 O(1)。 下面以 Golang 为例给出实现。 func searchMatrix(matrix [][]int, target int) bool {for _, row : range matrix {i : sort.SearchInts(row, target)if i len(row) row[i] target {return true}}return false }方法三Z 字形查找 上面的两个方法效率并不高效实际上还有线性时间复杂度的解法。 矩阵有两个特性 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 那么我们可以比较明显得感知到这两个特性就会是我们解开这个题的关键所在了。 们以示例一的矩阵作为例子如果我们以某一个边角作为出发点那么我们会得出如下结论 【左上角】从左到右升序排列从上到下升序排列 【右上角】从右到左降序排列从上到下升序排列 【左下角】从左到右升序排列从下到上降序排列 【右上角】从右到左降序排列从下到上降序排列具体情况请见下图所示 通过上面我们的分析可以发现左下角和右上角这两个出发点才是我们解题的关键因为这两个点在水平方向移动和在垂直方向移动分别是递增或者递减的那么我们就可以执行如下逻辑 【如果当前格子的值 小于 target】那么就向递增方向移动 【如果当前格子的值 大于 target】那么就向递减方向移动 【如果当前格子的值 等于 target】那么返回 true 【如果移动 越界 并且 不等于 target】那么返回 false下面以左下角为例从左下角开始搜索 5。当然从右上角搜索也是可以的。 时间复杂度 O(mn)。最坏情况下是从右上角搜索到左下角遍历了 mn 个元素。 空间复杂度 O(1)。 下面以 Golang 为例给出实现。 func searchMatrix(matrix [][]int, target int) bool {m, n : len(matrix), len(matrix[0])// 从左下角开始搜索。x, y : m-1, 0for x 0 y n {if matrix[x][y] target {return true}if matrix[x][y] target {x--} else {y}}return false }参考文献 240. 搜索二维矩阵II - LeetCode
http://www.zqtcl.cn/news/59315/

相关文章:

  • 做外贸哪个网站好哪个网站做新中式
  • asp开源企业网站教程自己做网站费用
  • 直播网站开发步骤北京住房和城乡建设局门户网站
  • 网站开设作风建设专栏网站怎么做才能让更多平台展现
  • 腾讯的网站建设用了多少钱彩票网站开发搭建
  • 创建一个网站的费用海口网站建设品牌大全
  • 广州网站建设粤icp360建站模板
  • 中国建设银行网站客户注册码做直播导航网站好
  • 网站备案完毕 怎样建设网站wordpress分类目录路径
  • 做内容网站赚钱吗微信公众号文章怎么导入wordpress
  • 有没有外国网站可以做兼职翻译的nginx wordpress 404
  • 具有品牌的上海网站建设济南传承网络技术有限公司
  • 北京网站设计外包公司价格灰色关键词排名
  • 如何建设网站子页网站做提示框
  • 网站开发报告书网站建设默认字体
  • 网站视频做背景企业网站制作商
  • 网站开发学习课程网站建网站建设网站
  • 青岛seo网站排名优化运维系统
  • 企业门户网站建设现状做动态的网站的参考资料有哪些
  • 网站建设结算方式wordpress可以建什么站
  • 网站的注册和登录界面怎么做专业制作网站制作
  • 企业网站带后台做盗版电影网站赚钱
  • 网站建设初学软件怎么注册com网站免费的
  • 自助式网站建设 济南wordpress销售
  • 兖州网站建设如何清空wordpress数据库
  • 汕头自助建站系统网站站外推广方法
  • 招聘网站简历数据分析怎么做市场调研报告模板ppt
  • 上海专业网站建设公司排名wordpress怎么建立二级菜单
  • 企业做网站的好处有哪些四川蓉和建设公司网站
  • 怎么做网站接家纺订单个人的视频网站如何做