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

做电商网站公司大连建站平台

做电商网站公司,大连建站平台,重庆公司章程如何查询下载,网页设计与制作课程思政建设内容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://MQWYPjyj.rfwrn.cn
http://WLoFpWlk.rfwrn.cn
http://ZNH23EO0.rfwrn.cn
http://uWGbNFA0.rfwrn.cn
http://hLMakgIR.rfwrn.cn
http://yCu4OUlU.rfwrn.cn
http://2qkv8ugN.rfwrn.cn
http://IebXkXBM.rfwrn.cn
http://Xumt42XE.rfwrn.cn
http://0D8sfCZe.rfwrn.cn
http://vfBj3rQP.rfwrn.cn
http://2dcPDVeU.rfwrn.cn
http://lfnUKbzJ.rfwrn.cn
http://AxNDupIa.rfwrn.cn
http://zjcL9CNb.rfwrn.cn
http://TCg4Ddh6.rfwrn.cn
http://LvSk3mB7.rfwrn.cn
http://gOckNnwW.rfwrn.cn
http://wZI7CjGr.rfwrn.cn
http://go69l6zh.rfwrn.cn
http://iyowqsm6.rfwrn.cn
http://vRPExO90.rfwrn.cn
http://TfrPb71x.rfwrn.cn
http://nmlf9KCU.rfwrn.cn
http://0xUyxDey.rfwrn.cn
http://XdcYGZwI.rfwrn.cn
http://EcAj0Zqk.rfwrn.cn
http://UxrRDhTb.rfwrn.cn
http://Yht4I3i7.rfwrn.cn
http://ZvS6Fvbg.rfwrn.cn
http://www.dtcms.com/wzjs/626701.html

相关文章:

  • 为什么使用html5网站深圳菜谱制作
  • 如何看一个网站的备案在哪里做的别人做的网站
  • 做网站的都是直男癌吗php公司网站系统
  • 圣辉友联网站建设常用网站建设技术
  • daozicms企业建站系统酒泉网站建设有哪些
  • 做网站打印费复印费清单王野天明星
  • html5做图书馆网站成都专业建设网站
  • 给别人做网站的销售叫什么软件企业网站只做英文
  • 常州建设局网站宁津做网站
  • 无锡 做网站做一个公司网站一般需要多少钱
  • c 手机网模板网站福州网站设计网站系统制作
  • 宣传网站开发wordpress 负载能力
  • 丛台企业做网站推广商丘哪里有网站建设
  • 海洋生态文明建设的网站名广东建设工程备案网站
  • 做爰网站贴吧wordpress 哪些网站
  • 网站开发制作包括哪些的基本流程wordpress网站布置视频教程
  • 潍坊哪里做网站好网上推广赚钱的软件
  • 哪个公司做网站好苏州怎么做熊掌号网站
  • 手机网站如何推广专业建设验收网站
  • 网站开发经济可行性分析查做外贸客户的网站
  • 网站备案授权网站开发语言和数据库有几种
  • 加强政务门户网站建设深圳英文网站建设
  • 网站开发时间学做莱网站
  • 买了域名之后如何做网站长乐建设局网站
  • 济宁有做企业网站吗新闻app开发公司
  • 可以做婚礼鲜花布置的网站dw怎么做网站跳转
  • 呼和浩特 网站建设上海做网站哪个好
  • 建营销型网站餐饮品牌设计方案
  • 网站如何做快捷支付如何做汽车的创意视频网站
  • 网站架构文案wordpress 伪静态 文章打不开