OJ_二分查找

题干

在这里插入图片描述

C++实现

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;int main() {int n;scanf("%d", &n);vector<int> a(n);for (int i = 0; i < n; i++) {scanf("%d", &a[i]);}sort(a.begin(), a.end());int m;scanf("%d", &m);int b;for (int i = 0; i < m; i++){scanf("%d", &b);int left = 0;int right = n - 1;//左闭右闭区间,while循环条件是小于等于while (left <= right) {int mid = (left + right) / 2;if (b == a[mid]) {printf("YES\n");break;}else if (b < a[mid]) {right = mid - 1;}else {left = mid + 1;}}if (left > right) {printf("NO\n");}}
}

用map代替二分查找

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<vector>
#include<algorithm>
#include<map>
using namespace std;int main() {int n;scanf("%d", &n);vector<int> a(n);for (int i = 0; i < n; i++) {scanf("%d", &a[i]);}map<int, int> findA;for (int i = 0; i < n; i++){findA.insert({ a[i],i });}int m;scanf("%d", &m);int b;for (int i = 0; i < m; i++){scanf("%d", &b);if (findA.find(b) == findA.end()) {printf("NO\n");}else {printf("YES\n");}}
}

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

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

相关文章

MC34063异常发热分析

问题描述&#xff1a; 工程现场反馈若干电源转换模块损坏&#xff0c;没有输出。拿到问题模块后&#xff0c;查看有一个MC34063周围的PCB有比较明显的高温痕迹&#xff0c;配套的电感也有明显的高温过热痕迹。 问题调查&#xff1a; MC34063的电路非常经典&#xff08;虽然自…

Android 11 访问 Android/data/或者getExternalCacheDir() 非root方式

前言&#xff1a; 需求要求安装三方应用ExternalCacheDir()下载下来的apk文件。 getExternalCacheDir() : /storage/emulated/0/Android/data/com../cache/ 获取访问权限 如果手机安卓版本为Android10的时候,可以在AndroidManifest.xml中添加下列代码 android:requestLegacyExt…

centos安装inpanel

前置条件 安装python yum -y install python 安装 cd /usr/local git clone https://gitee.com/WangZhe168_admin/inpanel.git cd inpanel python install.py 安装过程需要设置账户 密码 端口号 我设置的是admin:admin 10050 使用 打开浏览器,输入 http://192.168.168.…

jquery生成多个滑块,并对每个滑块做处理

基础滑块可以参考上一篇 eval(newThree).map((item, index) > { <div id"${uniqueId}" data-value"${item.text}" class"slider2"></div>$(document).ready(function () {for (let i 0; i < sliders.length; i)…

Java设计模式大全:23种常见的设计模式详解(二)

本系列文章简介&#xff1a; 设计模式是在软件开发过程中&#xff0c;经过实践和总结得到的一套解决特定问题的可复用的模板。它是一种在特定情境中经过验证的经验和技巧的集合&#xff0c;可以帮助开发人员设计出高效、可维护、可扩展和可复用的软件系统。设计模式提供了一种在…

一个冷门的js加密逆向分析

先上加密代码供各位先看为敬 (function(){function j2f6c82(ve7deb){var i86905"VPfaI5H|Nc]$^rhn1B8dR.w/u-4!ZetJ?XFM2SY(&sbjlW6GEmAd[L0i,;yx%qozC9U_~g37OkKTpvQD:";var z1a52da8"4H_&|GNcEon:B2-?h]lx.(gkzOdA3eL,9;myV8bJwriRSt6sX75Fvu^p0Ij…

“SET key value [EX seconds] [PX milliseconds] [NX|XX]“和redis分布式锁

一、可选参数介绍 EX second &#xff1a;设置键的过期时间为 second 秒。 SET key value EX second 效果等同于 SETEX key second value 。PX millisecond &#xff1a;设置键的过期时间为 millisecond 毫秒。 SET key value PX millisecond 效果等同于 PSETEX key milliseco…

CentOS基于volatility2的内存取证实验

CentOS&#xff0c;Redhat和Fedora 都是Red Hat体系&#xff0c;采用yum管理器&#xff0c;不同于Debian、Ubuntu作为Debian体系使用apt 本文以CentOS为例&#xff0c;采用avml制作内存镜像&#xff0c;并利用volatility官方所给工具制作profile符号文件&#xff0c;进行简单的…

javaEE - 23( 21000 字 Servlet 入门 -1 )

一&#xff1a;Servlet 1.1 Servlet 是什么 Servlet 是一种实现动态页面的技术. 是一组 Tomcat 提供给程序猿的 API, 帮助程序猿简单高效的开发一个 web app. 构建动态页面的技术有很多, 每种语言都有一些相关的库/框架来做这件事&#xff0c;Servlet 就是 Tomcat 这个 HTTP…

滑动窗口经典问题(算法村第十六关白银挑战)

最长字串专题 无重复字符的最长子串 3. 无重复字符的最长子串 - 力扣&#xff08;LeetCode&#xff09; 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是…

ChatGPT高效提问—prompt基础

ChatGPT高效提问—prompt基础 ​ 设计一个好的prompt对于获取理想的生成结果至关重要。通过选择合适的关键词、提供明确的上下文、设置特定的约束条件&#xff0c;可以引导模型生成符合预期的回复。例如&#xff0c;在对话中&#xff0c;可以使用明确的问题或陈述引导模型生成…

1.0 Zookeeper 分布式配置服务教程

ZooKeeper 是 Apache 软件基金会的一个软件项目&#xff0c;它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。 ZooKeeper 的架构通过冗余服务实现高可用性。 Zookeeper 的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来&#xff0c;构成一个高…