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

网站建设哪里好怎么让百度收录网址

网站建设哪里好,怎么让百度收录网址,360网站如何做引流,app制作app定制开发价格一.题目要求 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 ‘每列的元素从上到下升序排列。 二.题目难度 中等 三.输入样例 示例 1: 输入:matrix [[1,4,7…

一.题目要求

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:

  • 每行的元素从左到右升序排列。 ‘
  • 每列的元素从上到下升序排列。

二.题目难度

中等

三.输入样例

示例 1:
在这里插入图片描述
输入: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
输出:false

提示:
m == matrix.length
n == matrix[i].length
1 <= n, m <= 300
− 1 0 9 -10^9 109 <= matrix[i][j] <= 1 0 9 10^9 109
每行的所有元素从左到右升序排列
每列的所有元素从上到下升序排列
− 1 0 9 -10^9 109 <= target <= 1 0 9 10^9 109

四.解题思路

解法1.直接遍历 O ( m n ) O(mn) O(mn) 没想到能过。。

解法2.对每行(有序)所以可以二分查找 O ( m l o g 2 n ) O(mlog _2n) O(mlog2n)

解法3.Z型查找 O ( m + n ) O(m+n) O(m+n) 没想到还能这么玩 GPT解释如下:

利用矩阵的两个属性:每行的元素从左到右升序排列,每列的元素从上到下升序排列。基于这两个属性,可以从矩阵的右上角(或左下角)开始搜索。
算法思路
从右上角开始搜索:

  1. 如果当前元素等于目标值,则返回true。 如果当前元素小于目标值,则移动到下一行(因为当前列的所有元素都将小于目标值)。
  2. 如果当前元素大于目标值,则移动到前一列(因为当前行的所有元素都将大于目标值)。
  3. 重复这些步骤,直到找到目标值或者搜索区域为空。

这种方法之所以有效,是因为它每次迭代都排除一行或一列,这样就可以在常数时间内将搜索空间减半,从而实现快速查找。

五.代码实现

Z型查找:解法3

class Solution {
public:bool searchMatrix(vector<vector<int>>& matrix, int target) {if (matrix.empty()) return false;int rows = matrix.size(), cols = matrix[0].size();int row = 0, col = cols - 1;  // 从右上角开始while (row < rows && col >= 0) {if (matrix[row][col] == target) {return true;  // 找到目标值} else if (matrix[row][col] < target) {row++;  // 移动到下一行} else {col--;  // 移动到前一列}}return false;  // 搜索区域为空,未找到目标值}
};

解法1

class Solution {
public:bool searchMatrix(vector<vector<int>>& matrix, int target) {for (vector<vector<int>>::iterator it = matrix.begin(); it != matrix.end(); it++){for (vector<int>::iterator itt = it->begin(); itt != it->end(); itt++){if (*itt == target)return true;}}return false;}
};

解法2

class Solution {
public:bool searchMatrix(vector<vector<int>>& matrix, int target) {for (vector<vector<int>>::iterator it = matrix.begin(); it != matrix.end(); it++){vector<int>::iterator fit = lower_bound(it->begin(), it->end(), target);if (fit != it->end() && *fit == target)return true;}return false;}
};

六.题目总结

卧室撒币

http://www.hkea.cn/news/809851/

相关文章:

  • 文山做网站如何优化百度seo排名
  • 上海展陈设计公司有哪些成都网站seo性价比高
  • 小韩网站源码360广告投放平台
  • 网站地图的重要性短信广告投放软件
  • 搭建直播网站需要怎么做教育培训机构平台
  • 濮阳网站网站建设网络营销策划是什么
  • 做新闻网站需要什么手续河北软文搜索引擎推广公司
  • 广州网站建设联系电话seo推广的公司
  • 一起做网店一样的网站关键词歌曲免费听
  • 负责网站建设推广本周热点新闻事件
  • 快速做网站优化谷歌在线浏览入口
  • 苏州企业网站建设开发与制作2023年6月份又封城了
  • 用java做网站可以吗吉林seo刷关键词排名优化
  • 网站建设面试google广告投放技巧
  • 整形网站整站源码如何让关键词排名靠前
  • php网站后台搭建外贸网站大全
  • 建 新闻 网站营销战略有哪些内容
  • 营销融合app网站seo招聘
  • 快速做网站的方法网站换了域名怎么查
  • 建筑工程网络计划图怎么编制百度seo搜索排名
  • 免费建网站系统百度云登陆首页
  • wordpress 采集微博网站建设优化
  • 做淘宝客新增网站推广百度用户服务中心人工电话
  • 域名备案网站建设书模板百度统计登录
  • 禁止WordPress访问官网优化关键词排名提升
  • 爬取漫画数据做网站今日热搜新闻头条
  • 雄安网站建设制作网站关键词如何快速上首页
  • 佛山从事网站建设百度小程序入口官网
  • 自建网站平台可以实现哪些功能网络营销这个专业怎么样
  • 佛山新网站制作公司网页制作成品模板网站