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

news/2024/12/2 17:46:29/

文章目录

      • 题目描述
      • 法一 二分查找

题目描述

在这里插入图片描述

法一 二分查找

在这里插入图片描述

int bsearch_1(int l, int r)
{while (l < r){int mid = (l + r)/2;if (check(mid)) r = mid;else l = mid + 1;}return l;
}

在这里插入图片描述

int bsearch_2(int l, int r)
{while (l < r){int mid = ( l + r + 1 ) /2;if (check(mid)) l = mid;else r = mid - 1;}return l;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

vector<int> searchRange(vector<int>& nums, int target){if(nums.empty()) return {-1, -1};int l=0, r=nums.size()-1;while(l<r){int mid = (l+r)/2;if(nums[mid]>=target) r=mid;else l=mid+1;}if(nums[r]!=target) return {-1, -1};int L=r;l=0, r=nums.size() - 1;while(l<r){int mid = (l + r + 1)/2;if(nums[mid] <= target) l=mid;else r=mid-1;}return {L, r};}

在这里插入图片描述


http://www.ppmy.cn/news/997120.html

相关文章

大数据课程E4——Flume的Channel

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解Channel的作用和配置; ⚪ 掌握Channel的使用方法; ⚪ 掌握Channel的File Channel; ⚪ 掌握Channel的JDBC Channel; ⚪ 掌握Channel的Spillable Memory Channel; 一、Memory Ch…

2023爱分析·超自动化厂商全景报告|爱分析报告

关键发现 当前的超自动化定义主要从技术组合角度阐述超自动化内涵&#xff0c;较难和业务价值建立链接。爱分析对超自动化作如下新定义&#xff1a;超自动化指利用RPA、iPaaS、AI、低代码、BPM、流程挖掘等自动化技术&#xff0c;实现组织端到端流程自动化以及新业务流程快速编…

SAP RSA与RBA,业务需求与技术实现间的桥梁

1. 背景 SAP相关的缩略语很多&#xff0c;抛开背景说RSA与RBA&#xff0c;一定会让大家产生无数的联想。今年介绍的RSA与RBA是SAP最新企业架构方法论中的两个概念&#xff0c;听起来高大上&#xff0c;但其实其初衷和想法都是很容易理解的。话不多说&#xff0c;开始。 2. SA…

vue基础-key的作用

vue基础-key的作用 1、无key2、有key&#xff0c;值为索引3、有key&#xff0c;值为id 1、无key 最大限度尝试就地修改/复用相同类型元素 2、有key&#xff0c;值为索引 有key属性&#xff0c;基于key来比较新旧虚拟DOM&#xff0c;移除key不存在的元素 3、有key&#xf…

Git常见问题

git clone 提示OpenSSL SSL_read git clone 时提示Connection was reset, errno 10054类错误 fatal: unable to acce ss https://github.com/fex-team/ueditor.git/: OpenSSL SSL_read: Connection was reset, errno 10054 备注&#xff1a;以下方法只是归纳整理&#xff0c;…

【2023】无痕制作钓鱼邮件

当涉及到网络安全和信息保护时&#xff0c;钓鱼攻击一直是备受关注的话题。钓鱼攻击是一种利用社交工程手段欺骗用户&#xff0c;诱使其提供敏感信息或执行恶意操作的攻击方式。它不仅威胁个人用户的隐私和财产安全&#xff0c;也对组织和企业的机密信息构成严重威胁。为了增强…

Linux(centos7)如何实现配置iscsi存储多路径 及DM-Multipath的配置文件概述

安装多路径软件&#xff08;系统默认安装&#xff09; #第一&#xff1a;安装多路径软件yum -y install device-mapper device-mapper-multipath#第二&#xff1a;在CentOS7中启用多路径模块&#xff0c;mpathconf命令及相关模块加载&#xff08;可以使用mpathconf -h查看用法&…

软件安全测试和渗透测试的区别在哪?安全测试报告有什么作用?

软件安全测试和渗透测试在软件开发过程中扮演着不同的角色&#xff0c;同时也有不同的特点和目标。了解这些区别对于软件开发和测试人员来说非常重要。本文将介绍软件安全测试和渗透测试的区别&#xff0c;以及安全测试报告在软件开发和测试过程中的作用。 一、 软件安全测试和…