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

个人可以建设新闻网站吗做百度关键词排名的公司

个人可以建设新闻网站吗,做百度关键词排名的公司,网站公司靠什么赚钱,做线上网站需要钱吗💻 [LeetCode Hot100] 搜索二维矩阵 II🔥二分查找 vs 线性搜索,Java实现,图解代码 ✏️本文对应题目链接:搜索二维矩阵 II 📌 题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 targ…

💻 [LeetCode Hot100] 搜索二维矩阵 II🔥二分查找 vs 线性搜索,Java实现,图解+代码

✏️本文对应题目链接:搜索二维矩阵 II


📌 题目描述

编写一个高效的算法来搜索 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
解释:目标值 5 存在于矩阵中。

🧠 解题思路(图文分解)

❗ 核心难点

如何利用矩阵的特性高效搜索目标值?


方法一:线性搜索(黄金思路)✨

关键步骤:

  1. 从右上角开始搜索
    • 如果当前值等于 target,返回 true
    • 如果当前值大于 target,向左移动一列
    • 如果当前值小于 target,向下移动一行
  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 = 5

步骤1:从右上角开始

初始位置:(0,4) → 15 > 5 → 向左移动

步骤2:向左移动

位置:(0,3) → 11 > 5 → 向左移动

步骤3:向左移动

位置:(0,2) → 7 > 5 → 向左移动

步骤4:向左移动

位置:(0,1) → 4 < 5 → 向下移动

步骤5:向下移动

位置:(1,1) → 5 == 5 → 找到目标值

最终结果:

true

🚀 代码实现

class Solution {public boolean searchMatrix(int[][] matrix, int target) {if (matrix == null || matrix.length == 0 || matrix[0].length == 0) {return false;}int row = 0, col = matrix[0].length - 1; // 从右上角开始while (row < matrix.length && col >= 0) {if (matrix[row][col] == target) {return true;} else if (matrix[row][col] > target) {col--; // 向左移动} else {row++; // 向下移动}}return false;}
}

💡 复杂度分析

  • 时间复杂度:O(m + n) → 最坏情况下需要遍历一行和一列
  • 空间复杂度:O(1) → 仅用常数空间

方法二:二分查找(优化思路)

关键思路:对每一行进行二分查找,适合列数较大的情况。

class Solution {public boolean searchMatrix(int[][] matrix, int target) {if (matrix == null || matrix.length == 0 || matrix[0].length == 0) {return false;}for (int[] row : matrix) {if (binarySearch(row, target)) {return true;}}return false;}private boolean binarySearch(int[] row, int target) {int left = 0, right = row.length - 1;while (left <= right) {int mid = left + (right - left) / 2;if (row[mid] == target) {return true;} else if (row[mid] < target) {left = mid + 1;} else {right = mid - 1;}}return false;}
}

🌟 总结要点

线性搜索核心思想:利用矩阵特性从右上角开始搜索
二分查找优化:适合列数较大的矩阵
适用场景:有序矩阵搜索、二维数组查找


http://www.dtcms.com/wzjs/154773.html

相关文章:

  • 做个网站大约多少钱百度检索入口
  • 网站建设与维修网络营销方案的范文
  • 国外扁平化风格网站微信营销的案例
  • 宁乡网站开发有哪些网络营销公司
  • 企业邮箱哪里买优化设计答案
  • 照片做视频ppt模板下载网站好竞价网络推广托管
  • 凡科免费网站能用吗搜索引擎优化是什么
  • 浙江省建设厅网站查询互联网推广是干什么的
  • 自动化的网站建设2023年最新新闻摘抄
  • 中国风 网站模板网络销售模式有哪些
  • 网站开发模式新闻式软文范例
  • 创建网站的流程如何推广产品
  • 网站建好了怎么做才赚钱网络营销首先要进行
  • java视频面谈网站开发百度app下载
  • 衢州网站建设公司网站seo优化技能
  • ui界面设计师杭州网站建设方案优化
  • 做网站合同模板杭州网站建设书生商友
  • 调查问卷在哪个网站做帆软社区app
  • 做初中题赚钱的网站提高搜索引擎排名
  • 网站建设公司外链怎么做百度seo指数查询
  • 制作网站需要哪些技术人员怎样做网络推广
  • 政府网站发展指引建设规范关键字搜索引擎
  • 做电器哪个网站好搜索引擎广告投放
  • 长沙 外贸网站建设公司编程培训机构加盟哪家好
  • 网站建设中页面模板下载百度的推广方式有哪些
  • 你接入的网站不属于同一个主体怎样才能在百度上面做广告宣传
  • 网站怎么做流量互换网站站点
  • 国外网站怎么做威客宁波品牌网站推广优化公司
  • 网站建设的模块广告网站留电话不用验证码
  • 个人简历制作视频教程湖南专业seo推广