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

网站被攻击怎么让百度重新蜘蛛自动抓北京搜索引擎优化主管

网站被攻击怎么让百度重新蜘蛛自动抓,北京搜索引擎优化主管,网站web做,有专门做礼品的网站吗问题描述 给定一个已排序的整数数组 nums 和一个目标值 target,要求在数组中找到目标值并返回其索引。如果目标值不存在于数组中,则返回它按顺序插入的位置。必须使用时间复杂度为 O(log n) 的算法。 示例: 示例1: 输入: nums …

问题描述

给定一个已排序的整数数组 nums 和一个目标值 target,要求在数组中找到目标值并返回其索引。如果目标值不存在于数组中,则返回它按顺序插入的位置。必须使用时间复杂度为 O(log n) 的算法。

示例:

  • 示例1:

    输入: nums = [1,3,5,6], target = 5
    输出: 2
  • 示例2:

    输入: nums = [1,3,5,6], target = 2
    输出: 1
  • 示例3:

    输入: nums = [1,3,5,6], target = 7
    输出: 4

解题思路

为什么用二分查找?

由于数组已排序,且要求时间复杂度为 O(log n),自然联想到二分查找。但不同于标准二分查找的是,当目标值不存在时,需要找到插入的位置。

核心思路

  1. 初始化指针:定义两个指针 left 和 right,分别指向数组的首尾。

  2. 二分缩小范围

    • 计算中间索引 mid

    • 比较 nums[mid] 与 target

      • 若 nums[mid] < target,说明目标值在右半部分,调整 left = mid + 1

      • 否则,调整 right = mid - 1,因为此时 mid 可能是插入点或目标值在左半部分。

  3. 终止条件:当 left > right 时,循环结束。此时 left 即为目标值的插入位置(若不存在)或目标值的位置(若存在)。

为什么返回 left

  • 存在目标值:在循环中会不断调整指针,最终 mid 命中目标值,循环结束时 left 即为目标值的位置。

  • 不存在目标值:循环结束时,left 指向第一个大于 target 的元素的位置,或数组末尾之后的位置(即所有元素均小于 target 时)。

示例分析(示例2):

  • nums = [1,3,5,6], target = 2

  • 初始:left=0right=3 → mid=1nums[1]=3 > 2 → right=0

  • 下一轮:left=0right=0 → mid=0nums[0]=1 < 2 → left=1

  • 循环结束,返回 left=1(即插入位置)。

代码实现

class Solution {public int searchInsert(int[] nums, int target) {int left = 0;int right = nums.length - 1;while (left <= right) {int mid = left + (right - left) / 2; // 防止溢出if (nums[mid] < target) {left = mid + 1; // 目标在右半部分} else {right = mid - 1; // 目标在左半部分或mid处}}return left; // left即为插入位置}
}

复杂度分析

  • 时间复杂度O(log n)。每次循环将搜索范围减半,最多执行 log n 次循环。

  • 空间复杂度O(1)。仅使用常数级别的额外空间。

总结

通过二分查找的变体,我们巧妙地利用指针调整策略,最终返回 left 的值作为目标值的插入位置。该算法高效且简洁,完美满足了题目的所有要求。理解这一过程的关键在于明确循环结束时 left 指针的意义,即第一个大于等于目标值的位置。

http://www.hrbkazy.com/news/29856.html

相关文章:

  • wordpress添加独立表单页面洛阳seo网站
  • 阿里云服务器开源做几个网站合肥做网站哪家好
  • 官方网站建设状况四川seo多少钱
  • 潍坊营销型网站建设佛山疫情最新情况
  • h5 php mysql网站开发互联网营销方案
  • 台州手机网站建设企业关键词大全
  • 唐山做网站公司朋友圈广告投放价格表
  • 外贸seo网站开发运营推广的方式和渠道有哪些
  • 工信部网站域名备案信息查询网络服务商怎么咨询
  • 微企点做网站视频兰州seo技术优化排名公司
  • 单位网站 方案个人怎么接外贸订单
  • 网站建设的教学网站互联网营销策略有哪些
  • 网站生成静态页面sem是什么仪器
  • 怎么用微信官方网站做二维码南宁网络推广培训机构
  • 傻瓜网站建设百度联盟广告
  • 网页制作培训班前景沈阳seo公司
  • 网站开发设计百度贴吧官网
  • 优秀网站设计 pdf关键对话
  • 滨湖网站建设seo对网店推广的作用有哪些
  • 侨联 文化宣传 侨联网站建设网页设计素材
  • 网页和网站的区别宁波seo快速优化课程
  • 微信第三方做网站需要费用吗推广网站排名优化seo教程
  • 赌博网站做维护犯罪国家高新技术企业认定
  • 网站开发环境介绍100条经典广告语
  • 磐安网站建设指数搜索
  • 全国网站建设公司排名免费建网站软件下载
  • 做外贸的网站简称为什么网站河北seo
  • 贵阳58同城做网站公司有哪些公司网址
  • 站长工具综合查询ip做网站的平台
  • 网站建设一条龙服务公司开发设计推荐