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

深圳有做网站的公司长沙网动网络科技有限公司

深圳有做网站的公司,长沙网动网络科技有限公司,网络推广24年怎么做,用易语言做抢购网站软件下载这段代码的核心思想是 二分查找,用于在一个已经排序的数组中查找目标值的位置。如果目标值存在于数组中,返回它的索引;如果目标值不存在,返回它按顺序应该插入的位置。 算法思想步骤: 定义左右边界: 我们使…

在这里插入图片描述
这段代码的核心思想是 二分查找,用于在一个已经排序的数组中查找目标值的位置。如果目标值存在于数组中,返回它的索引;如果目标值不存在,返回它按顺序应该插入的位置。

算法思想步骤:

  1. 定义左右边界

    • 我们使用两个指针 leftright 来表示搜索范围的左右边界,初始化时 left 为数组的起始索引 0right 为数组的末尾索引 nums.length - 1
  2. 二分查找循环

    • left <= right 的前提下,进入循环。每次迭代,计算中间位置 mid
      int mid = left + (right - left) / 2;
      
      这里的 (right - left) / 2 计算方式是为了避免直接 (left + right) / 2 可能出现的整数溢出问题。
  3. 比较中间值

    • 如果 nums[mid] 正好等于目标值 target,则直接返回 mid 作为目标值的索引。
    • 如果 nums[mid] < target,说明目标值比中间值大,因此需要在数组的右半部分继续查找,将 left 移动到 mid + 1
    • 如果 nums[mid] > target,说明目标值比中间值小,因此需要在数组的左半部分继续查找,将 right 移动到 mid - 1
  4. 最终插入位置

    • 当循环结束后,如果仍然没有找到目标值,left 就是目标值应该插入的位置。因为 left 指向的正是第一个大于目标值的位置,这也是题目要求的顺序插入位置。

时间复杂度:

  • 该算法的时间复杂度为 O(log n),这是因为每次迭代都会将搜索范围缩小一半。

代码解释:

class Solution {public int searchInsert(int[] nums, int target) {int left = 0, right = nums.length - 1;  // 初始化左右指针while (left <= right) {  // 当左指针小于或等于右指针时进行循环int mid = left + (right - left) / 2;  // 计算中间位置if (nums[mid] == target) {  // 如果找到目标值,返回其索引return mid;} else if (nums[mid] < target) {  // 如果中间值小于目标值,查找右半部分left = mid + 1;} else {  // 如果中间值大于目标值,查找左半部分right = mid - 1;}}return left;  // 如果未找到目标值,返回应该插入的位置}
}

这个算法高效且适用于有序数组的搜索和插入位置查找问题。

http://www.tj-hxxt.cn/news/27544.html

相关文章:

  • 鹤壁集团网站建设关键词分析工具
  • 网站开发费入什么费用如何引流被动加好友微信
  • 怎么筛选一家做网站做的好的公司新手怎么学网络运营
  • 沧州到黄骅谷歌seo排名技巧
  • 阿里云做网站送服务器郑州seo线下培训
  • 做电影网站有哪些seo外包公司兴田德润官方地址
  • 中国广东手机网站建设应用商店下载安装
  • 成都网站建设杨勇seo网站优化助理
  • 淮南seo临沂网站seo
  • 网络营销的方法有哪些方式关键词优化排名哪家好
  • 网站建设设计简介百度一下官网首页百度
  • 查询注册过的网站站长之家网站查询
  • vpsputty做网站上海网站seo外包
  • 来个网站奖励自己海外网站cdn加速
  • 拓者设计吧效果图网站产品怎么优化
  • 30个做设计的网站全国各城市感染高峰进度查询
  • 未来做那个网站能致富陕西网站设计
  • 多页网站制作经典软文推广案例
  • 怎么设置网站服务器竞价出价怎么出
  • 建设门户网站的目的和需求seo关键词推广案例
  • 宜宾建设教育培训中心网站厦门seo大佬
  • 会议网站建设的意义上海网站建设
  • 企业做网站多少钱不限次数观看视频的app
  • 扬州网站建设多少钱seo优缺点
  • 做网站在哪找靠谱百度seo服务公司
  • 专题探索网站开发模式特点谷歌搜索引擎下载安装
  • 不用编程做APP和响应式网站2024年最新一轮阳性症状
  • 用bluehost建设网站seo页面内容优化
  • 阿里云ecs部署网站阿里云建站费用
  • python基础教程第3版seo怎么做优化工作