【hot100篇-python刷题记录】【在排序数组中查找元素的第一个和最后一个位置】

R7-二分查找篇

目录

双指针

二分优化 

ps:

思路:

双指针

直接用双指针回缩啊

class Solution:def searchRange(self, nums: List[int], target: int) -> List[int]:ret=[-1,-1]left,right=0,len(nums)-1while left<len(nums):if nums[left]==target:ret[0]=leftbreakleft+=1while right>=0:if nums[right]==target:ret[1]=rightbreakright-=1return ret

 

二分优化 

复杂度比较高,可以考虑使用二分查找优化。

突然有点印象,之前用的是二分查找,一个很好的思路:

bi_find二分查找函数返回left值,那第一次出现的位置start=left

然后比较start和len(nums)的关系(相等--》(-1,-1))

或者找不到?

接着是找到的情况,这是我们只需再调用该函数查找target+1的初始位置-1即可。

class Solution:def searchRange(self, nums: List[int], target: int) -> List[int]:def bi_find(nums,target):left,right=0,len(nums)-1while left<=right:mid=(left+right)//2if nums[mid]<target:left=mid+1else:right=mid-1return leftstart=bi_find(nums,target)if start==len(nums) or nums[start]!=target:return [-1,-1]end=bi_find(nums,target+1)-1return [start,end] 

 

ps:

这里时间复杂度感觉受到target+1的值是否存在影响,例如2直接到1000,中间还会二分查找998遍,所以会复杂。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/415389.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为Huawei路由器交换机SSH配置

华为设备的SSH登录配置需要5个步骤&#xff0c;示例如下&#xff1a; 一、配置命令 使能SSH功能 stelnet server enable生成公钥 rsa local-key-pair create 1024配置AAA用户密码及相应授权 aaalocal-user xxx password cipher xxxyyy1234local-user xxx privilege level …

三十二、初识Gin框架

目录 一、搭建web项目 1、引入gin依赖 2、搭建项目结构 二、路由绑定 1、创建路由 解释&#xff1a; 2、创建实例化模块 3、创建具体事项 4、main中添加注册 一、搭建web项目 1、引入gin依赖 在项目路径下&#xff0c;终端中输入 go get -u github.com/gin-gonic/gin…

语音测试(一)视频转音频

视频转音频 下载ffmpeg工具进入bin目录cmd进入控制台输入命令 ffmpeg.exe -i ./视频.mp4 ./音频.wav

C语言试题(含答案解析)

单选 1.下面C程序的运行结果为&#xff08;&#xff09; int main(void) {printf("%d", B < A);return 0; }A.编译错误 B.1 C.0 D.运行错误 A’的ascii码值为65&#xff0c;‘B’的ascii码值为66&#xff0c;‘B’<‘A’是不成立的&#xff0c;返回0&#xf…

什么是W外链?外链的优势有哪些?

一、定义 定义W 外链是一家企业级在线短链接生成工具&#xff0c;免费的微信获客助手&#xff0c;支持批量短链接网址生成等&#xff0c;还支持自定义域名短链接数据统计等。在链接缩短的同时&#xff0c;支持高并发、防劫持&#xff0c;是专业的在线生成短链接工具。 网络营…

PrimeTime low power-多电压设计流程(3)

4.Golden UPF flow Golden UPF flow是维护设计多电压电源意图的可选方法。它在整个综合、物理实现和验证步骤中使用原始的Golden UPF 文件,以及由综合和物理实现工具生成的supplemental UPF 文件。 图 141 比较了传统的 UPF-prime 流程与Golden UPF 流程。 Golden UPF 流程在…

达梦数据库事务管理

目录 一、事务简介 二、事务特性 1.原子性 2.一致性 3.隔离性 4.持久性 三、事务提交 1.自动提交模式 2.手动提交模式 3.隐式提交 四、事务回滚 1.自动回滚 2.手动回滚 3.回滚到保存点 4.语句级回滚 五、事务锁定 1.锁模式 &#xff08;1&#xff09;共享锁 …

【加密社】马后炮视角来看以太坊二层战略

阅读正文前先给大家普及下知识&#xff0c;以下文章中提到的 Blobs指的是&#xff1a;"Blob Carriers" 或 "Calldata Blobs" 这是在以太坊网络中用于携带数据的一种方式&#xff0c;尤其是在涉及Rollup&#xff08;如Optimistic Rollup和ZK-Rollup&#xf…

【Git】IDEA代码合并|merge into

&#x1f4dd;个人主页&#x1f339;&#xff1a;执键行天涯 ⏩收录专栏⏪&#xff1a;多线程进阶 &#x1f921;往期回顾&#x1f921;&#xff1a;【不安全的集合类】同步容器&#xff08;如ConcurrentHashMap&#xff09;、并发集合&#xff08;如CopyOnWriteArrayList &…

【正点原子K210连载】第三十四章 image图像滤波实验 摘自【正点原子】DNK210使用指南-CanMV版指南

第三十四章 image图像滤波实验 在上一章节中&#xff0c;介绍了image模块中元素绘制方法给的使用&#xff0c;本章将继续介绍image模块中图像滤波方法的使用。通过本章的学习&#xff0c;读者将学习到image模块中图像滤波的使用。 本章分为如下几个小节&#xff1a; 34.1 imag…

【通过h5作为中转页跳转到微信小程序】

1。从小程序跳转小程序内部页面 <!DOCTYPE html> <html><head><title>H5跳转小程序</title><meta charset"UTF-8"><meta name"viewport"content"widthdevice-width, initial-scale1.0, minimum-scale1.0, ma…

【知识库系列】MPR/多模态方向观察:图像视频与3D生成

多模态背后的backbone会长成什么样&#xff1f; 各种模态到梯度下降到最后会不会都差不多&#xff1f; Sora 是不是已经被追上了? 我们真的把视频数据都用好了吗&#xff1f; 知识库完整文档&#xff1a; MPR/多模态方向观察&#xff1a;图像视频与3D生成&#xff1a;https…

基于RK3568平台移植ffmpeg3.4.5及ffmpeg验证

目录 一、概述二、环境要求2.1 硬件环境2.2 软件环境三、移植流程3.1 编译x2643.2 编译mpp3.3 编译ffmpeg四、ffmpeg验证4.1 ffmpeg配置说明4.2 ffmpeg推流/拉流使用说明4.2.1 使用http方式推流/拉流4.2.1.1 先执行ffmpeg服务4.2.1.2 再执行ffmpeg进行推流4.2.1.3 最后执行vlc进…

linux中最简单方式使用crontab打印当前时间

因特殊需求&#xff0c;需要在linux的某个文件中每分钟打印出当前时间。 先手动试一下命令&#xff1a; echo $(date) 打印出&#xff1a; Mon Sep 1 09:28:06 AM CST 2024 而我需要达到的效果是&#xff1a; 2024-09-01 09:28:06 于是命令改成了&#xff1a; echo $(date &quo…

《系统架构设计师教程(第2版)》第17章-通信系统架构设计理论与实践-03-移动通信网网络架构

文章目录 1. 5GS与DN互连1.1 5GS概述1.2 5GS 与DN网络的连接关系1.3 UE连接DN的两种模式1.3.1 透明模式1.3.2 非透明模式 2. 5G 网络边缘计算 1. 5GS与DN互连 1.1 5GS概述 5GS&#xff1a;5G SystemDN&#xff1a;Data NetworkIMS&#xff1a;IP Media Subsystem&#xff08;一…

并发集合:ConcurrentHashMap解析

1、ConcurrentHashMap 介绍 1.1、ConcurrentHashMap 概述 ConcurrentHashMap 是线程安全的HashMap&#xff0c;但最早的线程安全的HashMap 是 HashTable &#xff0c;HashTable 现在已经弃用&#xff0c;因为它是使用synchronized 来保证线程安全&#xff0c;性能比较低&#…

安卓(Android)平台上的MVVM架构:关键知识点、优劣分析及实践示例

​ 一、安卓MVVM架构核心知识点 1.1、架构组成 1.1.1、Model层 承载业务逻辑与数据实体&#xff0c;独立于UI并与ViewModel进行交互&#xff0c;实现数据获取与处理功能。 1.1.2、View层 负责用户界面展示&#xff0c;借助Android XML布局文件及Activity/Fragment等组件&a…

Golang | Leetcode Golang题解之第384题打乱数组

题目&#xff1a; 题解&#xff1a; type Solution struct {nums, original []int }func Constructor(nums []int) Solution {return Solution{nums, append([]int(nil), nums...)} }func (s *Solution) Reset() []int {copy(s.nums, s.original)return s.nums }func (s *Solu…

【从问题中去学习k8s】k8s中的常见面试题(夯实理论基础)(二十二)

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》&#xff1a;python零基础入门学习 《python运维脚本》&#xff1a; python运维脚本实践 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8…

前端bug:v-show嵌套组件外层,页面扩大后,组件被遮挡

在外层套上v-show 页面扩大到125%后&#xff0c;页码栏被压缩到窗口底部&#xff0c;被遮挡了 把v-show放到每个内部组件上 解决了被遮挡的问题 虽然问题解决了&#xff0c;但是不清楚原理是什么&#xff0c;麻烦路过的大佬指点一下&#xff0c;感谢&#xff01;&#x…