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

龙岩百度推广南京seo建站

龙岩百度推广,南京seo建站,数字营销云,四川省城乡住房建设厅网站1. 题目 题目描述: 给定一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值,返回 [-1, -1]。 要求: 必须使用二分查找算法 时间复杂度必须…

1. 题目

题目描述
给定一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请找出给定目标值在数组中的开始位置和结束位置。

如果数组中不存在目标值,返回 [-1, -1]

要求

  1. 必须使用二分查找算法

  2. 时间复杂度必须是 O(log n)

  3. 不能使用线性扫描或内置函数直接查找(如 index()find() 等)

示例

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

2. 思路

1. 为什么必须用二分查找

  • 题目明确要求时间复杂度 O(log n)

  • 线性扫描法(O(n))不符合要求

  • 数组已排序,是二分查找的典型应用场景

2. 问题分解

需要解决两个子问题:

  1. 找到 target 的第一个位置(左边界)

  2. 找到 target 的最后一个位置(右边界)

3. 二分查找变种

  • 标准二分查找找到目标值就返回

  • 本题需要继续查找边界,因此需要修改标准算法

4. 算法步骤

  1. 实现查找左边界的二分查找

    • 当 nums[mid] >= target 时继续向左搜索

    • 最后检查找到的位置是否等于 target

  2. 实现查找右边界的二分查找

    • 当 nums[mid] <= target 时继续向右搜索

    • 最后检查找到的位置是否等于 target

  3. 组合两个结果

3. 代码

nums=list(map(int,input().split()))
target=int(input())
"""
在排序数组中查找元素的第一个和最后一个位置
param nums: 非递减排序的整数数组
param target: 要查找的目标值
return: 目标值的起始和结束位置 [start, end],如果不存在返回 [-1, -1]
"""
def find_left():left, right = 0, len(nums) - 1while left <= right:mid = (left + right) // 2if nums[mid] >= target:right = mid - 1else:left = mid + 1return left if left < len(nums) and nums[left] == target else -1def find_right():left, right = 0, len(nums) - 1while left <= right:mid = (left + right) // 2if nums[mid] <= target:left = mid + 1else:right = mid - 1return right if right >= 0 and nums[right] == target else -1if not nums:return [-1, -1]left_pos = find_left()
right_pos = find_right()print([left_pos, right_pos])
http://www.dtcms.com/wzjs/448302.html

相关文章:

  • 商河县建设局网站竞价托管的注意事项
  • 如何注册个做电影的网站腾讯广告投放平台
  • 什么事网站开发企业培训课程
  • 网站维护的基本内容包括哪些全网搜索指数查询
  • ps做的网站模板亚马逊查关键词排名工具
  • 淘宝做seo要建网站吗网站优化排名公司
  • 自己建还是找代理建网站游戏推广员拉人技巧
  • 快速 模板 做网站搜索引擎优化实训心得
  • 顺德建网站推广代理公司
  • 搜索网站仿站排名优化公司哪家好
  • 如何快速建设推广网站新闻稿代写
  • 渭南网站建设风尚网络企业品牌推广方案
  • 三明市建设局网站官网百度seo优化排名如何
  • 搜索引擎整合营销关键词在线优化
  • 全国全屋定制品牌十大排名seo教程免费
  • 潢川网站建设公司地推接单平台网
  • 好看网站的浏览器近日网站收录查询
  • 5网站开发游戏推广怎么做
  • wordpress建站页面免费新闻源发布平台
  • 国务院政府网站发展建设的意见站长工具app下载
  • 微信公众号服务平台电话百度竞价优化
  • 设计一份包含网站建设范企业qq一年多少费用
  • 我要做个网站南昌网站开发公司
  • 互联网公司怎么找网站建设客户百度搜索引擎原理
  • 网站建设排版页面微信上如何投放广告
  • 经典模板网站建设品牌运营包括哪些内容
  • 给公司网站做seo的好处seo托管
  • 河北邯郸移动网站建设seo排名是什么
  • 如何说服客户做网站网站优化排名软件
  • 适合团购报名的网站开发哪家培训机构好