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

34. 在排序数组中查找元素的第一个和最后一个位置

Problem: 34. 在排序数组中查找元素的第一个和最后一个位置

文章目录

  • 思路
  • 解题方法
  • 复杂度
  • Code

思路

二分查找,
口诀:左右右,求左段区间的右端点,动r

解题方法

两次二分查找

复杂度

时间复杂度: O ( l o g n ) O(logn) O(logn) 二次两份查找

空间复杂度: O ( 1 ) O(1) O(1) 若干中间变量

Code

class Solution:def searchRange(self, nums: List[int], target: int) -> List[int]:if not nums: return [-1, -1]n = len(nums)l, r = 0, n - 1res = [-1, -1]# 确定左区间while l < r:mid = l + r >> 1if nums[mid] >= target:r = midelse:l = mid + 1if nums[l] == target:res[0] = l# 确定右区间r = n - 1while l < r:mid = l + r + 1>> 1if nums[mid] <= target:l = midelse:r = mid - 1if nums[l] == target: res[1] = rreturn res
http://www.lryc.cn/news/339262.html

相关文章:

  • 音乐文件逆向破解
  • xhci 数据结构
  • Go——Goroutine介绍
  • Centos7,部署etcd集群,基于二进制包,https安全通讯
  • 设置MariaDB,创建新库,新用户并授权其可以从任何主机登录
  • 每日一VUE——组件的生命周期
  • Redis中的BigKey
  • MySQL中的存储过程详解(上篇)
  • 面试官:说一说CyclicBarrier的妙用!我:这个没用过...
  • MySQL高可用搭建方案MHA
  • 【vue】用vite创建vue项目
  • 内网渗透-内网环境下的横向移动总结
  • Linux命令学习—linux 的常用命令
  • 【Git教程】(十)版本库之间的依赖 —— 项目与子模块之间的依赖、与子树之间的依赖 ~
  • 最新版IntelliJ IDEA 2024.1安装和配置教程 详细图文解说版安装教程
  • JVM常用参数一
  • 分布式锁-redission可重入锁原理
  • Android Gradle开发与应用 (八) :Kotlin DSL
  • phpstorm 快捷键
  • 浦大喜奔APP8.0智能升级,发力数字金融深化五大金融篇章服务
  • 自然语言处理、大语言模型相关名词整理
  • 移动开发避坑指南——内存泄漏
  • 太好玩了,我用 Python 做了一个 ChatGPT 机器人
  • STM32存储左右互搏 SDIO总线读写SD/MicroSD/TF卡
  • 累积分布函数图(CDF)的介绍、matlab的CDF图绘制方法(附源代码)
  • 代码随想录算法训练营第四十一天|343.整数拆分、96不同的二叉搜索树
  • 全量知识系统 程序详细设计之 统一资产模型(QA-SmartChat)
  • 已解决org.springframework.web.client.HttpClientErrorException: 400异常的正确解决方法,亲测有效!!!
  • 内网渗透-Windows内网渗透
  • 机器人方向控制中应用的磁阻角度传感芯片