每日一道编程题:查找元素位置

【华为OD机试真题 Python语言】400、小明找位置 | 机试真题+思路参考+代码解析(最新抽中C卷)(本题100%) 题目描述 >小朋友出操,按学号从小到大排成一列;小明来迟了,请你给小明出个主意,让他尽快找到他应该排的位置。 阅读详情

题目

给定一个按照升序排列的有序数组和一个目标值,查找出这个目标值在有序数组中的第一个位置和最后一个位置。如果在数组中不存在目标值,则输出[-1,-1]。

输入格式

第一行有两个整数,第一个为目标值整数x,第二个为数组的长度n。
第二行有n个整数,按长序排列。

输出格式

参照样例

输入样例一

8 6
5 7 7 8 8 10

输出样例一

[4,5]

输入样例二

5 6
5 7 7 8 8 10

输出样例二

[1,1]

输入样例三

6 6
5 7 7 8 8 10

输出样例三

[-1,-1]

数据规模

1<=n<=10000

代码

#include <bits/stdc++.h>
using namespace std;
int a[10005];
int twofenfind1(int a[],int left,int right,int x)
{
	if(left>right)
		return -1;
	int mid=left+(right-left)/2;
	if(a[mid]==x)
	{
		if(a[mid-1]==x)
			return twofenfind1(a,left,mid-1,x);
		return mid;
	} 
	if(a[mid]>=x)
		return twofenfind1(a,left,mid-1,x);
	return twofenfind1(a,mid+1,right,x);
}
int twofenfind2(int a[],int left,int right,int x)
{
	if(left>right)
		return -1;
	int mid=left+(right-left)/2;
	if(a[mid]==x)
	{
		if(a[mid+1]==x)
			return twofenfind2(a,mid+1,right,x);
		return mid;
	} 
	if(a[mid]>=x)
		return twofenfind2(a,left,mid-1,x);
	return twofenfind2(a,mid+1,right,x);
}
int main()
{
	int target,n;
	cin>>target>>n;
	for(int i=1; i<=n; i++)
		cin>>a[i];
	cout<<"["<<twofenfind1(a,1,n,target)<<","<<twofenfind2(a,1,n,target)<<"]";
	return 0;
}
基于逆向工程的中国裁判文书网爬虫技术深度解析 本文详细介绍了中国裁判文书网爬虫的开发过程,涵盖了从基础爬取到高级功能的完整解决方案。逆向工程分析:理解网站的反爬机制和加密逻辑浏览器自动化:使用Playwright模拟真实用户行为参数加密:通过JavaScript执行环境生成加密参数智能调度:控制请求频率,避免被检测错误处理:完善的异常处理和重试机制。 阅读详情

相关推荐

R语言WGCNA实战:从基因表达矩阵到模块可视化全流程(附避坑指南)

本文详细介绍了使用R语言进行WGCNA(加权基因共表达网络分析)的完整实战流程,涵盖从基因表达矩阵预处理、软阈值选择、网络构建与模块识别,到模块与表型关联分析及结果可视化的关键步骤。文章重点解析了代码实现,并提供了针对数据质量检查、参数调整等常见问题的避坑指南,帮助生物信息学研究者高效挖掘基因共表达模块的生物学意义。

weixin_29062823的博客 580

34. 在排序数组中查找元素的第一个和最后一个位置【二分查找】

题目描述 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 进阶: 你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗? 示例 1: 输入:nums = [5,7,7,8,8,10], target = 8 输出:[3,4] 示例 2: 输入:nums = [5,7,7,8,8,10], target = 6 输出:[-1,-1] 示例 3: 输入:num

... 281

沐数科技数据开发岗笔试题2025

与数据库中的主键(Primary Key)​有所不同,业务主键(Business Key)​是业务层面的唯一标识,通常由业务规则决定,例如,订单号、订单明细号,身份证号等。用户授信表(table_credit):包含用户ID(uid)、授信申请时间(credit_submit_time_local)、授信状态(credit_status)。:在正态分布中,大约68%的数据值落在距离均值一个标准差的范围内,约95%的数据值落在两个标准差的范围内,而约99.7%的数据值落在三个标准差的范围内。

weixin_40121264的博客 3526

leetcode-在排序数组中查找元素的第一个和最后一个位置

题目:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: [3,4] 示例 2: 输入: nums = [5,7,7,8,8,10], t...

zoinsung_lee的博客 977

用Keil5给CH552G编程:手把手配置8051开发环境+LED闪烁实战

本文详细介绍了如何使用Keil5为CH552G单片机配置8051开发环境,并完成LED闪烁实战。从获取必要软件、安装WCH器件库到创建工程、编写程序及烧录,手把手指导开发者避开常见陷阱,特别适合从STC转向CH552G的开发者。

weixin_30733003的博客 539

在PLC中将十六进制数据转换为浮点数(通常遵循IEEE 754标准)需要理解数据存储格式,并按以下步骤操作:

通过以上步骤,您可以在PLC中实现十六进制到浮点数的转换。T DBD20 // 将数据传送到浮点数变量(如DB1.DBD20)指数位(8位):实际指数 = 存储值 - 127(偏移量)。:必须确认PLC的存储顺序(大端或小端),否则结果错误。将两个16位寄存器合并为32位数据,需注意。尾数位(23位):隐含前导1,实际值为。:确保32位数据在寄存器中连续且对齐。符号位(1位):0表示正,1表示负。:高位寄存器在前(如西门子PLC)。:低位寄存器在前(如三菱FX系列)。,误差因截断导致)。

K11mvp的博客 4419

LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置 【c++/java详细题解】

目录1、题目2、思路3、c++代码4、java代码 1、题目 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 进阶: 你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗? 示例 1: 输入:nums = [5,7,7,8,8,10], target = 8 输出:[3,4] 示例 2: 输入:nums = [5,7,7,8,8,10], target =

林深不见鹿 的博客 1334

PCA9548实战:从硬件连接到Linux驱动的I2C扩展全解析

本文详细解析了PCA9548 I2C多路复用器从硬件连接到Linux驱动配置的全过程。涵盖硬件引脚连接、电源去耦、地址选择等关键设计要点,以及Linux驱动加载、设备树配置和应用层编程技巧,帮助开发者高效实现I2C总线扩展。

weixin_28726391的博客 412

数组之二分查找

二分法 题目链接:二分查找 题目 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1 题目分析 前提条件 数组为有序数组 时间复杂度为O(logn),空间复杂度为O(1) 数组中无重复元素 解题思路 以数组的中间值middle = left + (right - left) >> 1为界将数组划分为两个子区间,每次取查找范围的中点和target的大小,如果相等则 middl

Ian Wong 1267

强化学习从基础到进阶-常见问题和面试必知必答[7]:深度确定性策略梯度DDPG算法、双延迟深度确定性策略梯度TD3算法详解

强化学习从基础到进阶-常见问题和面试必知必答[7]:深度确定性策略梯度DDPG算法、双延迟深度确定性策略梯度TD3算法详解

丨汀、的博客 513

【HFSS】仿真目录

Author: JiJi\textrm{Author: JiJi}Author: JiJi Created Time: 2026.04.27\textrm{Created Time: 2026.04.27}Created Time: 2026.04.27 Modified Time: 2026.04.27\textrm{Modified Time: 2026.04.27}Modified Time: 2026.04.27如果大家觉得有用,就点个赞吧,在阅读过程中存在任何困惑,可在下方评论区留言~

u011699626的博客 311

leetcode解题数组篇

一、二分查找 1. 704 “二分查找” 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/binary-search 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 int search(vector<int>& nums, i

weixin_45774350的博客 1282

22、用户界面流程(UI Flow)全解析

本文全面解析了用户界面流程(UI Flow)的概念、创建步骤及其在系统设计中的应用。通过示例和操作步骤,详细介绍了如何确定屏幕范围、识别屏幕、创建过渡和标记触发器,并阐述了UI Flow在导航识别、验证、可用性优化、测试用例开发和需求推导中的重要作用。文章还结合问答系统案例,展示了UI Flow的实际应用价值,帮助读者深入理解并有效运用这一工具提升系统用户体验。

rice5的博客 154

【蓝桥杯】每日四道编程题(两道真题+两道模拟)| 第三天

这题首先要先将数据排序,然后二分查找到它的中间数据(节约时间),中间数据右边的就不用考虑了,左边的需要把刷题数增加到比中间数据多一个。lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end。upper_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于num的数字,找到返回该数字的地址,不存在则返回end。建议看代码来理解 ~

m0_74215326的博客 1294

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

每日一道简单C语言编程题

以上两道题适用于刚接触字符指针和字符数组的C语言初学者。题目:尝试删除数组中特定位置的字符(题目:尝试删除数组中特定的字符。此处的数组特指字符数组。

qq_56728224的博客 214

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

每日一练——查找整数

给定一个非降序的整数数组,数组中包含重复数字(重复数字很多) ,给定任意整数,对数组进行二分查找,返回数组正确的位置,给出函数实现。a. 连续相同的数字,返回最后一个匹配的位置 b. 如果数字不存在返回 -1。(测试用例仅做参考,我们会根据代码质量进行评分)第一行给定数组长度n,目标值tar。(1<=n,tar<=10000) 第二行给出n个整数a.(1<=a<=10000)二分查找的变种,在二分查找中添加一点约束条件即可。

asuf1364的博客 132

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

每日编程题 10

所有题目均采用python进行完成 二分搜索 二分搜索的简单模板 def binary_search(num, target): # 判断是否为空 if len(num) == 0: return -1 left = 0 right = len(num) - 1 while left + 1 < right: mid = (left + right) // 2 if num[mid] == target:

wrw971018的博客 321

LeetCode·每日一题·2517. 礼盒的最大甜蜜度·二分查找

二分查找

m0_64560763的博客 279

Python 每日一题(二分法查找)

Python 每日一题:锻炼Python语法的运用,思维逻辑的锻炼,算法能力的培养。 题目: 从有序数字列表中找到目标值,并返回其索引,如果目标值不在列表中,返回它可以按顺序插入的索引。 输入:[3, 5, 6, 8, 9] 8 输出:3 输入:[1, 2, 6, 8, 9] 5 输出:2 分析: 1、定义两个变量:leftright,用于确定查找区间 2、需循环判断 left <= right,计算出中间位置的索引值 ...

Oblning的博客 411

leetcode刷题笔记-739. 每日温度(java实现)

leetcode刷题笔记-739. 每日温度(java实现)

成钰的博客 383

[每日一题] 0. 每日一题题解汇总

每日一题 锻炼编程能力,每日尽量至少更新一道算法编程题,其题目代码部分已经同步到我的优快云:Y-puyu的优快云博客,博客内主要更新学习C/C++、Linux学习内容,及数学建模相关知识,希望能够及时记录学习成果,便于回顾复习,也能够与大家一起交流进步。 每日一题CSND博客详解链接: 题目简述 提交日期 1. 组队竞赛—编程题(贪心、排序) 20190905 2. 删除公...

Y-puyu 的博客 1972

[每日一题]0:每日一题汇总

每日一题 锻炼编程能力,每日尽量至少更新一道算法编程题,博客内主要更新学习C/C++、以及Linux的相关知识点,希望在记录学习过程的同时也能方便遇到相同问题的人,方便回顾复习,也希望能够与大家一起交流进步,为开源社区做贡献。 汇总如下 题目简述 提交日期 1:Fibonacci数列 2020-01-20 2:在杨氏矩阵中,查询是否存在该整数 2020-01-26 3:替换.........

AngelDg的博客 2832

【力客热题HOT100】-【100】739 每日温度

解法1:暴力搜索,逻辑简单,超时;解法2:动态规划,跳跃式遍历,升级的暴力搜索,AC;解法3:单调栈,O(n),AC,掌握好单调栈的思想和应用。

杨的博客 406

【蓝桥杯】​蓝桥杯——每日四道编程题(两道真题+两道模拟)​| 第 二 天

​ 小朋友们拿到其他人的秘密后会记下这个秘密,老师会再指挥所有小朋友将手中的秘密继续传递,仍然根据老师发的卡片上的数字将秘密传递给对应编号的小朋友。题目描述:小蓝准备在一个空旷的场地里面滑行,这个场地的高度不一,小蓝用一个 n 行 m 列的矩阵来表示场地,矩阵中的数值表示场地的高度。对于所有评测用例,1

m0_74215326的博客 1694

力扣编程题-解法汇总

力扣首页编程题解法汇总。一周10题左右的进度

分享+记录 7120

每日一题0

408

Fbois的博客 92
上一篇: 二分查找C++递归实现
下一篇: 冒泡排序、选择排序、插入排序、快速排序详解
Python_enjoy
博客等级 码龄4年 1201粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值