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

【算法】二分789. 数的范围

题目

数的范围

思路

用二分法先找出数的开头,如果能找到开头,则再用一次二分找结尾,如果找不到则直接返回-1,-1。注意计算mid时有两种情况,一种需要加一,一种不需要。如果不加1可能会出现死循环的情况。

代码

#include<iostream>
using namespace std;
const int N = 100010;
int n, m;
int q[N];
int main()
{cin >> n >> m;for (int i = 0;i < n;i++)cin >> q[i];while (m--){int x;cin >> x;int l = 0, r = n - 1;while(l < r){int mid = (l + r) / 2;if (q[mid] >= x)r = mid;elsel = mid + 1;}if (q[l] != x)cout << "-1 -1" << endl;else{cout << l << " ";int l = 0, r = n - 1;while (l < r){int mid = (l + r + 1) / 2;if (q[mid] <= x)l = mid;elser = mid - 1;}cout << l << endl;}}return 0;
}

http://www.mrgr.cn/news/92191.html

相关文章:

  • Node.js技术原理分析系列——Node.js的perf_hooks模块作用和用法
  • AIGC技术助力空军招飞,近屿智能开启智能人才培育新征程
  • ai-1、人工智能概念与学习方向
  • 毕业项目推荐:基于yolov8/yolov5/yolo11的番茄成熟度检测识别系统(python+卷积神经网络)
  • DLP数据防泄漏产品的关键性能指标
  • 电机控制的空间矢量调制 (SVPWM)
  • 【2025信息安全软考重点考点归纳】实时更新
  • 沁恒CH32V307RCT6烧写hex文件时报错“设置芯片型号失败”
  • 【DeepSeek部署经验】Ollama(运行平台)+DeekSeek(对话模型)+Cherry Studio(可视化对话界面)
  • 机器视觉匹配中使用bpnet匹配,二
  • [Web 安全] Web 安全攻防 - 学习手册
  • 大白话Vue2和Vue3双向数据绑定的原理
  • springboot集成jackson-dataformat-xml实现发送XML请求和XML响应参数处理
  • 毕业项目推荐:基于yolov8/yolo11的水稻叶片病害检测识别系统(python+卷积神经网络)
  • 玩机日记 10 fnOS 开启文件传输服务挂载到手机/电脑,测试传输性能
  • 深入理解Self-Attention - 原理与等价表示
  • 玩机日记 11 解决fnOS识别不了虚拟核显的问题
  • 【Python量化金融实战】-第2章:金融市场数据获取与处理:2.1 数据源概览:Tushare、AkShare、Baostock、通联数据(DataAPI)
  • 【初探数据结构】时间复杂度和空间复杂度
  • 玩机日记 12 fnOS使用lucky反代https转发到外网提供服务