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

免费的ai绘图网站有哪些建设零售网站

免费的ai绘图网站有哪些,建设零售网站,关于军队建设网站,手机哪里可以做视频网站1.问题描述 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回…

1.问题描述

        给你一个满足下述两条属性的 m x n 整数矩阵:

  • 每行中的整数从左到右按非严格递增顺序排列。
  • 每行的第一个整数大于前一行的最后一个整数。

        给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。

        示例1

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
输出:true

        示例2 

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
输出:false

        提示

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 100
  • -104 <= matrix[i][j], target <= 104

        难度等级

        中等

        题目链接

        搜索二维矩阵

2.解题思路

        这道搜索二维矩阵的题比较常规,话不多说,直接开干。

        因为这是一个已经排好序的二维矩阵,每一行的第一个整数一定大于上一行的所有整数,所以我们可以先判断target是否在这个矩阵内,再进行搜索。如果target小于矩阵中最小的数或者target大于矩阵中最大的数,那就不用搜索了,肯定不在。

        //判断target是否小于矩阵中最小的数if(matrix[0][0] > target){return false;}//判断target是否大于矩阵中最大的数if(matrix[matrix.length-1][matrix[0].length-1] < target){return false;}

        接着,我们根据矩阵递增的特征,通过比较每一行的最后一个数与target的大小关系,可以定位到target可能处于矩阵的哪一行,用一个循环不断比较,当出现第一个大于或等于target的数时,target就处在那个数所在的行。

        //判断target可能位于哪一行矩阵中int row = 0;while(row < matrix.length && matrix[row][matrix[0].length-1] < target){row++;}

        然后,就是对我们找到的这一行进行常规的二分查找了,设置左右指针和二分指针,不断比较二分值与target的关系,不断缩小查找的范围,直到最终找到target的位置或者左右指针越界。

        //左右指针和二分指针int left = 0;int right = matrix[row].length - 1;int mid = 0;//判断target是否真的在我们筛选出来的矩阵中while(left <= right){//更新二分指针mid = (right - left) / 2 + left;//判断中间值是否为我们要找的数if(matrix[row][mid] == target){return true;}//若中间值小于目标值if(matrix[row][mid] < target){left = mid + 1;}//若中间值大于目标值if(matrix[row][mid] > target){right = mid - 1;}}

        最后,根据查找结果返回对应的答案即可。

3.代码展示

class Solution {public boolean searchMatrix(int[][] matrix, int target) {//判断target是否小于矩阵中最小的数if(matrix[0][0] > target){return false;}//判断target是否大于矩阵中最大的数if(matrix[matrix.length-1][matrix[0].length-1] < target){return false;}//判断target可能位于哪一行矩阵中int row = 0;while(row < matrix.length && matrix[row][matrix[0].length-1] < target){row++;}//左右指针和二分指针int left = 0;int right = matrix[row].length - 1;int mid = 0;//判断target是否真的在我们筛选出来的矩阵中while(left <= right){//更新二分指针mid = (right - left) / 2 + left;//判断中间值是否为我们要找的数if(matrix[row][mid] == target){return true;}//若中间值小于目标值if(matrix[row][mid] < target){left = mid + 1;}//若中间值大于目标值if(matrix[row][mid] > target){right = mid - 1;}}//若循环结束还是没有找到,说明target不在矩阵中return false;}
}

4.总结

        这道题,如果对二分查找熟练的话,其实理解起来不难,要做出来也不难,只要定位到target在矩阵的哪一行,就变成了常规的二分查找了。这道题就简单水到这里,祝大家刷题愉快,早日拿到心仪的offer~

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

相关文章:

  • 如何建设游戏平台网站唯品会网站建设特色
  • 常州网站开发培训价格无法连接wordpress
  • 通用网站建设出名的网站建设公司
  • 网站建设后如何检测网站建设与维护期末试卷
  • 网站自动推广营销型网站的页面层级
  • 先做它个天猫网站南安市住房和城乡建设局网站
  • 现在海外做的比较好一点的网站整形网站 源码
  • 电脑打开做的网站总显示404wordpress图片放大插件
  • 网站建设售后质量保证网站模板 收费
  • 网站建设的布局种类网站招商页面怎么做
  • 广州网站建设咨询电话网页版微信可以转账吗
  • html企业网站怎么做wordpress小说站模板
  • 股票实时交易网站开发大型网站是用哪种数据库做的
  • 建设工程教育网站亚马逊aws永久免费服务69
  • 上海网站建设哪家专业兰州app制作
  • wordpress theme 检测seo搜索引擎官网
  • 毕设做系统与网站答辩提供网站建设空间
  • 免费的外贸网站电商网站规划的开发背景
  • 金昌做网站网站 内页
  • 关于学院网站建设的通知成都哪家公司做网站比较好
  • 怎么做自己淘宝优惠券网站wordpress右键插件
  • 网站的seo是什么意思做网站费用滁州
  • 网站的技术建设方案wordpress模版下载
  • 传奇新开网站网上怎么开平台做销售
  • 青岛网站建设哪个平台好微信网站开发模板
  • 购物网站创业时是如何做宣传的wordpress注册码
  • 网站平台建设什么意思中国尊设计公司
  • 杭州西湖区做网站公司注册资金实缴可以取出来吗
  • 网站域名的根目录在哪里专业建设网站服务
  • 网站和微信佛山提供网站设计报价