数的范围 刷题笔记

思路 寻找第一个大于等于目标的 数
因为该数组是升序的 所以 我们可以采用二分的方式
逼近答案
定义一个左指针和一个右指针
当左右指针重合时
就是我们要找的答案
当我们寻找第一个大于等于x的数时
a[mid]>=x,答案在mid处 或者在mid的左边
因此让r=mid继续逼近
如果中间值小于x说明答案在右边
并且必定不在mid 处
因此让l=mid+1;
下面寻找右端点
当a[mid]<=x;
说明答案在mid 处或者在mid 的右边
因此让l=mid;
否则让r=mid-1;
为了避免陷入死循环
我们要讨论特殊情况
例如 当l指向3,r指向4,;
且3为左端点 4为右端点
寻找左端点时
mid=(3+4)>>1=3;
此时a[3]=x,让r=mid=3;
完成重合
当寻找右端点时 如果还是
mid=(l+r)>>1;
a[mid]=x,让l=mid=3,并未发生改变 陷入了死循环
因此我们在找右端点要+1 让mid上取整
mid=(l+r+1)/2=4;
此时 让l=mid=4;
完成重合
代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,q;
const int N=1e5+10;
int a[N];
int main(){
cin>>n>>q;
for(int i=0;i<n;i++){
cin>>a[i];
}
while(q--){
int x;
cin>>x;
int l=0,r=n-1;
while(l<r){
int mid=l+r>>1;
if(a[mid]>=x){
r=mid;
}else{
l=mid+1;
}
}
if(a[r]==x)
{
cout<<r<<' ';
int r=n-1;
while(l<r){
int mid=l+r+1>>1;
if(a[mid]<=x){
l=mid;
}else{
r=mid-1;
}
}
cout<<r<<endl;
}else
{
cout<<-1<<' '<<-1<<endl;
}
}
return 0;
}
关键点在于讨论特殊情况
c++的除法为下取整
两指针位于相邻位置时
如何调整算法
来让二分不会陷入死循环
相关文章:
数的范围 刷题笔记
思路 寻找第一个大于等于目标的 数 因为该数组是升序的 所以 我们可以采用二分的方式 逼近答案 定义一个左指针和一个右指针 当左右指针重合时 就是我们要找的答案 当我们寻找第一个大于等于x的数时 a[mid]>x,答案在mid处 或者在mid的左边 因此让rmid继续逼近 如果…...
XSS简介及xsslabs第一关
XSS被称为跨站脚本攻击(Cross-site scripting),由于和CSS(CascadingStyle Sheets)重名,所以改为XSS。 XSS主要速于javascript语言完成恶意的攻击行为,因为javascript可非常灵活的操作html、css和浏览器 XSS就是指通过利用网页开发时留下的漏…...
构建安全的REST API:OAuth2和JWT实践
引言 大家好,我是小黑,小黑在这里跟咱们聊聊,为什么REST API这么重要,同时,为何OAuth2和JWT在构建安全的REST API中扮演着不可或缺的角色。 想象一下,咱们每天都在使用的社交媒体、在线购物、银行服务等等…...
从0开始学习NEON(1)
1、前言 在上个博客中对NEON有了基础的了解,本文将针对一个图像下采样的例子对NEON进行学习。 学习链接:CPU优化技术 - NEON 开发进阶 上文链接:https://blog.csdn.net/weixin_42108183/article/details/136412104 2、第一个例子 现在有一张图片,需…...
(二十三)Flask之高频面试点
目录: 每篇前言:Q1:为什么把request和session放在一起?Q2:Local对象的作用?Q3::LocalStack对象的作用?Q4:一个运行中的Flask应用程序分别包括几个Local/LocalStack&#…...
设计模式(十三)抽象工厂模式
请直接看原文:设计模式(十三)抽象工厂模式_抽象工厂模式告诉我们,要针对接口而不是实现进行设计。( )-CSDN博客 -------------------------------------------------------------------------------------------------------------------------------- …...
HTTP Cookie 你了解多少?
Cookie是什么? 先给大家举个例子,F12 打开浏览器的页面之后,我们能在 Response Headers 的字段里面看到一个header 叫做 Set-Cookie,如下所示 图中包含的 Set-Cookie 为 Set-Cookie:uuid_tt_dd10_20293537580-1709432565344-232…...
【QT+QGIS跨平台编译】之五十六:【QGIS_CORE跨平台编译】—【qgsmeshcalclexer.cpp生成】
文章目录 一、Flex二、生成来源三、构建过程一、Flex Flex (fast lexical analyser generator) 是 Lex 的另一个替代品。它经常和自由软件 Bison 语法分析器生成器 一起使用。Flex 最初由 Vern Paxson 于 1987 年用 C 语言写成。 “flex 是一个生成扫描器的工具,能够识别文本中…...
ar时间序列
AR时间序列模型(AutoRegressive Time Series Model)是一种用于分析和预测时间序列数据的统计模型。该模型假设未来的观测值与过去的观测值相关,且该相关性可以通过线性回归来描述。 AR模型的基本思想是将当前时刻的观测值表示为过去几个时刻的…...
Android 14 AAOS audio
文章目录 乘客音频投放到主音频区动态路由配置controlhal实现的具体流程control hal AudioGain的callbackAudioModuleChange变化的通知 乘客音频投放到主音频区 场景: 是将乘客区的Media 属性的数据通过主屏区的设备进行播放。具体而言 在副屏user11播放的音乐是输出…...
文心一言 VS 讯飞星火 VS chatgpt (207)-- 算法导论15.4 4题
四、说明如何只使用表 c 中 2*min(m,n) 个表项及O(1)的额外空间来计算LCS的长度。然后说明如何只用 min(m,n) 个表项及O(1)的额外空间完成相同的工作。要写代码的时候,请用go语言。 文心一言: 在只使用 2 * min(m, n) 个表项和 …...
【论文笔记】Attention Is All You Need
【论文笔记】Attention Is All You Need 文章目录 【论文笔记】Attention Is All You NeedAbstract1 Introduction2 Background补充知识:软注意力 soft attention 和硬注意力 hard attention?补充知识:加法注意力机制和点乘注意力机制Extende…...
(亲测可用)Adobe Photoshop 2024下载与安装
背景介绍:Adobe Photoshop 2024 是全球最受欢迎的图像编辑软件之一,2024年的版本带来了一系列令人印象深刻的功能: AI增强的自动选择和蒙版工具:现在,用户可以更轻松地选择和处理复杂的图像元素。更多的3D渲染功能&…...
uniapp聊天记录本地存储(详细易懂)
目录 目录 1、通过websocket拿取数据 2、获取聊天数据 3、聊天信息存储 、更新 4、读取聊天记录 5、发送信息,信息获取 6、最终效果 1.聊天信息的存储格式 2、样式效果 写聊天项目,使用到了本地存储。需要把聊天信息保存在本地,实时获…...
Vue.js中的$nextTick
其实目前在我现有的开发经历中,我还没有实际运用过$nextTick,今天在看书时,学习到了这个东西,所以做个笔记记录一下。 一、$nextTick是什么? $nextTick 是 Vue提供的一个方法,用于在 DOM 更新之后执行回调…...
python+mysql咖啡店推荐系统django+vue
(1).研究的基本内容 系统的角色分为: 1.管理员 2.会员 3.非会员 角色不同,权限也不相同 技术栈 后端:python 前端:vue.jselementui 框架:django/flask Python版本:python3.7 数据库:mysql5.7…...
综合实验nginx+nfs+kpa
综合实验 实验目的: 静态资源和动态资源分别存放在远端存储NFS上,NFS上数据实现实时备份,用户通过负载访问后端的web服务。实现ngixn负载高可用,当keepalived master宕机,vip能自动跳转到备用节点 实验环境ÿ…...
springboot197基于springboot的毕业设计系统的开发
简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的毕业设计系统的开发 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 …...
group by报错
# 报错:[42000][1055] Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column base.biz_org_rep.ID which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_modeonly_full_grou…...
3、云原生安全之falco的部署
文章目录 1、helm安装2、拉去镜像失败与解决3、安装faclo4、安装nfs服务器,配置k8s的持久卷4.1、创建nfs服务器,4.2、部署master节点(nsf服务的客户端)4.3、pv与pvc4.4、假设pv和pvc的配置文件出错了5、安装falcosidekick可视化(建议跳过,直接使用6)6、安装faclo与falco…...
一文读懂 JWT 无状态身份认证的核心原理
JWT 是目前前后端分离、微服务架构中最常用的无状态身份认证方案。本文用简洁易懂的方式,带你快速掌握 JWT 的签发、传递与校验核心逻辑,轻松理解其工作原理与安全机制。 一、什么是JWT? JWT(JSON Web Token)是一种轻…...
效率对比:OpenClaw原生操作vsQwen3.5-9B增强版任务执行
效率对比:OpenClaw原生操作vsQwen3.5-9B增强版任务执行 1. 测试背景与实验设计 去年在开发个人自动化工作流时,我遇到了一个经典困境:某些任务用传统脚本就能完成,但面对需要认知判断的环节又不得不引入大模型。OpenClaw恰好提供…...
3种方法如何解决Balena Etcher在Arch Linux上的安装难题
3种方法如何解决Balena Etcher在Arch Linux上的安装难题 【免费下载链接】etcher Flash OS images to SD cards & USB drives, safely and easily. 项目地址: https://gitcode.com/GitHub_Trending/et/etcher 问题诊断:为什么Arch Linux安装Etcher总是失…...
DDR5 SDRAM中的DQS间隔振荡器:原理、应用与误差分析
1. DDR5 SDRAM中的DQS间隔振荡器是什么? 如果你拆开过电脑内存条,可能会注意到那些排列整齐的黑色芯片——这就是SDRAM。而DDR5作为最新一代的内存标准,在速度和能效上都比前代有了显著提升。但今天我们要聊的不是这些宏观特性,而…...
再次革新 .NET 的构建和发布方式(一)蚕
本文能帮你解决什么? 1. 搞懂FastAPI异步(async/await)到底在什么场景下能真正提升性能。 2. 掌握在FastAPI中正确使用多线程处理CPU密集型任务的方法。 3. 避开常见的坑(比如阻塞操作、数据库连接池耗尽、GIL限制)。 …...
C# 13主构造函数性能真相:实测对比传统构造器,GC第0代回收次数激增217%?答案藏在这3行IL指令里
第一章:C# 13主构造函数性能真相的终极叩问C# 13 引入的主构造函数(Primary Constructors)并非语法糖的简单叠加,其背后涉及编译器对类型初始化路径的深度重构。当使用 class Person(string name, int age) 声明时,编译…...
力扣第98题:颜色分类
第一部分:问题描述 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地 对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库内置的 sort 函数的情况下解决这个问题。…...
2026毕业论文降AI指南:deepseek免费降AI指令+降AI神器测评,有效降低AI率【建议收藏】
快过年了,毕业生们日子并不好过,最近私信里哀鸿遍野。 “学姐,我明明是自己写的,为什么查重报告显示AI率80%?” “救命,用了劣质降AI工具结果语句不通,导师直接退回了……” 这几年AI领域发展…...
深入解析ActivityMainBinding:从基础绑定到高级应用
1. ActivityMainBinding基础入门 第一次接触ActivityMainBinding时,我完全被它自动生成的特性震惊了。这个看似简单的类,实际上是Android DataBinding技术的核心枢纽。简单来说,每当你在res/layout目录下创建带有<layout>标签的XML文件…...
打卡信奥刷题(3081)用C++实现信奥题 P7069 [NWRRC 2014] Joy of Flight
P7069 [NWRRC 2014] Joy of Flight 题目描述 大意就是一架飞机要从起点飞到终点,飞机有最大空速,飞行最大时间,给出风速的变化和风如何影响飞机飞行,求出飞机是否能到达终点,如果能就输出飞机的位置变化。 雅各布&…...
