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

外包网站开发安全吗长沙做网站kaodezhu

外包网站开发安全吗,长沙做网站kaodezhu,怎么在家做网站,做电影网站 广告收入题目: 给一个按照非递减顺序排列的整数数组nums,和一个目标值target,请找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值target,返回[-1,-1] 方法一:二分查找 直观的思路肯定是从前往后遍历一遍。用两个变量记录第一次和最后一次…

题目:

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

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


方法一:二分查找

直观的思路肯定是从前往后遍历一遍。用两个变量记录第一次和最后一次遇见 target 的下标,但这个方法的时间复杂度为 O(n),没有利用到数组升序排列的条件

由于数组已经排序,因此整个数组是单调递增的,可以利用二分法来加速查找的过程。

考虑 target 开始和结束位置,要找的就是数组中「第一个等于 target 的位置」(记为 leftIdx)和「第一个大于 target 的位置减一」(记为 rightIdx)

二分查找中,寻找 leftIdx 即为在数组中寻找第一个大于等于 target 的下标,寻找 rightIdx 即为在数组中寻找第一个大于 target 的下标,然后将下标减一。两者的判断条件不同,定义binarySearch(nums, target, lower) 表示在 nums 数组中二分查找 target 的位置,如果 lower 为 true,则查找第一个大于等于 target 的下标,否则查找第一个大于 target 的下标。

因为 target 可能不存在数组中,因此需要重新校验得到的两个下标 leftIdx 和 rightIdx,看是否符合条件,如果符合条件就返回 [leftIdx,rightIdx],不符合就返回 [−1,−1]

class Solution(object):def searchRange(self, nums, target):""":type nums: List[int]:type target: int:rtype: List[int]"""leftIdx=self.binarySearch(nums,target,True)#查找左边界,第三个参数True表示查找左边界rightIdx=self.binarySearch(nums,target,False)-1#第三个参数False表示查找右边界,结果减1if leftIdx<=rightIdx and rightIdx<len(nums) and nums[leftIdx]== target and nums[rightIdx] == target:  #判断范围有效return [leftIdx,rightIdx]return [-1,-1]def binarySearch(self,nums,target,lower):#输入有序数组,目标值,布尔值left=0  #初始化二分查找的左右指针right=len(nums)-1ans=len(nums) #初始化答案为数组长度(表示目标值可能插入的位置)while left<=right:mid=(left+right)//2  # 计算中间位置if nums[mid]>target or (lower and nums[mid]>=target):
#查找左边界时(lower=True),当nums[mid] >= target时移动右指针
#查找右边界时(lower=False),只有当nums[mid] > target时才移动右指针right=mid-1ans=mid  ## 更新答案为当前的 midelse:left=mid+1  ## 目标值大于 mid 的值,移动左边界return ans

时间复杂度: O(logn) ,其中 n 为数组的长度。二分查找的时间复杂度为 O(logn),一共会执行两次,因此总时间复杂度为 O(logn)

空间复杂度:O(1)

作者:力扣官方题解
 

http://www.dtcms.com/a/483988.html

相关文章:

  • 江苏优化网站价格南通网站建设服务公司
  • wordpress做产品页教程优化关键词规则
  • 东莞网站优化有哪些西宁电商网站制作公司
  • 建设网站运营方案产品软文范例软文
  • 视频图像处理技术解析
  • 房产网站定制wordpress伪静态化后百度地图显示404错误页面
  • 英文网站建设口碑好百度企业查询官网
  • 网站建设所用的工具数字创意设计包括哪些案例
  • day10_网络
  • 代做机械毕业设计网站成全视频在线观看免费高清动漫
  • 电子商务网站建设的问题全国文明城市创建工作
  • 卫朋:IPD流程落地——实施IPD的基础使能器
  • 网站开发毕设设计论文金华网络公司网站建设
  • 企业解决方案参考网站做影视网站风险大吗
  • 甘肃省铁路投资建设集团有限公司网站wordpress修改订阅者
  • 怎样优化慢速的MySQL查询语句?
  • Java算法题
  • 文章写作网站网站建设推广公司排名
  • 上海企业模板建站苏州新闻今天最新消息新闻事件
  • 网站质量度网页设计图片素材网
  • 10月14日星期二今日早报简报微语报早读
  • 网站流量功能更怎么做自己做的影视会员网站违法么
  • 网站设计弹窗西安免费做网站公司
  • 网站建设深网站开发图片侵权
  • 【每日一K】altera 封装数据
  • 建设银行网站字体网站开发必学书籍
  • 济南seo优化公司助力网站腾飞推广平台排行榜有哪些
  • OWL 的 t-* 与 Vue3 的 v-* 全面对比
  • C#项目连接S7-PLCSIM Advanced读写操作
  • Linux中的wheel介绍以及用法