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

题单:二分查找(最小下标)

题目描述

给定一个包含 nn 个整数的非降序数列,以及 TT 次查询,对于每一个查询 xx,请回答 xx 在数列中的位置(从左向右,第一个位置记为 11)。

注意:

  1. 若 xx 不在数列中,回答 −1 。

  2. 若数列中有多个 xx ,回答最小的下标。

输入格式

第一行一个整数 nn,表示数列中整数的个数;

第二行 nn 个整数,表示数列中的元素;

第三行一个整数 TT,表示询问的次数;

接下来 TT 行,每行一个整数 xx,表示查询的整数。

输出格式

一行,TT 个整数,表示对于相应查询的回答。

样例 #1

样例输入 #1

7
1 2 3 3 5 5 6
3
4
5
6

样例输出 #1

-1 5 7

提示

对于 100% 的数据:1≤n,T≤105 。

#include<bits/stdc++.h>
using namespace std;
int a[50000005];
int bin(int l,int r,int key)
{int ans=-1;while(l<=r){int mid=(l+r)/2;if(a[mid]>key){r=mid-1;}else if(a[mid]<key){l=mid+1;}else if(a[mid]==key){ans=mid;r=mid-1;}}return ans;
} 
int main(){int n;scanf("%d",&n);int x;for(int i=1;i<=n;i++){scanf("%d",&a[i]);} sort(a+1,a+n+1);int t;scanf("%d",&t);while(t--){scanf("%d",&x);printf("%d ",bin(1,n,x));}return 0;
}

http://www.xdnf.cn/news/764623.html

相关文章:

  • 记忆解码 | 从神经机制到记忆逻辑的科学探索
  • 2023年12月6级第一套第一篇
  • 【头歌实验】Keras机器翻译实战
  • 什么是 CPU 缓存模型?
  • SMT高速贴片机核心技术深度剖析
  • 基于Python学习《Head First设计模式》第四章 工厂模式+抽象工厂
  • 【设计模式-3.6】结构型——桥接模式
  • 设计模式——访问者设计模式(行为型)
  • 使用 OpenCV (C/C++) 通过二值化增强车牌识别
  • 【机器学习基础】机器学习入门核心:数学基础与Python科学计算库
  • nssctf第一题[SWPUCTF 2021 新生赛]re1
  • 每日算法刷题计划Day20 6.2:leetcode二分答案3道题,用时1h20min
  • 深度学习|pytorch基本运算-hadamard积、点积和矩阵乘法
  • 如何学习才能更好地理解人工智能工程技术专业和其他信息技术专业的关联性?
  • Python-matplotlib库画不规则图
  • 机器视觉图像处理之图像滤波
  • LeetCode 高频 SQL 50 题(基础版) 之 【高级查询和连接】· 上
  • 深度学习与神经网络 前馈神经网络
  • 【LeetCode】数组刷题汇总记录
  • 二、Kubernetes 环境搭建
  • vue中父子参数传递双向的方式不同
  • Git GitHub Gitee
  • Windows环境下Scoop包管理工具的全面指南
  • [yolov11改进系列]基于yolov11引入特征融合注意网络FFA-Net的python源码+训练源码
  • 自定义序列生成器之单体架构实现
  • I2C Host Adapter (1)
  • 移除3D对象的某些部分点云
  • 使用TDEngine REST API + Python来计算电力指标的ETL真实案例
  • 前端框架Vue
  • CTF:网络安全的实战演练场