单峰问题分治法算法(C++实现)-程序员宅基地

技术标签: 算法复习  算法  C++  

给定含有n个不同的数组成的数组L=<x1,x2,x3,…,xn>,如果L中存在xi使得,则称x1<x2 <…<xi-1<xi且xi>xi+1>…>xn则称L是单峰的,并称xi是L的峰顶。假设L是单峰的,设计算法找到L的峰顶。
将n个元素的数组分为差不多大的两个n/2的数组;
根据分界线,直接淘汰掉一半,缩小范围。

代码实现:(时间复杂度:O(log(2)(n)

#include<iostream>
using namespace std;
int Peak(int a[],int left,int right)
{
	if(left==right) return left;
	int mid=(left+right)/2;
	if(a[mid]<a[mid+1]&&a[mid-1]<a[mid]) return Peak(a,mid,right);
	else if(a[mid]>a[mid+1]&&a[mid-1]>a[mid]) return Peak(a,left,mid); 
	else if(a[mid]>a[mid-1]&&a[mid]>a[mid+1]) return mid;
	else return -1;	 
}

int main()
{
	int a[]={1,2,3,4,5,4,2,1};
	cout<<Peak(a,0,7)<<endl;
	return 0;
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cqq9869454/article/details/84027182

智能推荐

国家税务总局全国增值税发票查验平台网站js逆向分析及全逆向算法还原_“http://inv—veri.chinatax.gov.cn/”-程序员宅基地

文章浏览阅读2.1w次,点赞2次,收藏22次。本文教程针对的事2021年7月2日时国税查验平台的js分析,其中版本号为V2.0.06_009。主要分析内容为key9和flwq39以及fplx这3个参数的算法,其中key9分为获取验证码阶段和查验阶段,算法有所区别,flwq39同理。教程开始:一、官方网址https://inv-veri.chinatax.gov.cn/index.html二、请求分析国税查验平台请求共分为2个,第一个请求获取验证码,第二个请求为输入验证码后查验数据并返回发票详细信息。第一步:安装证书基础:谷歌_“http://inv—veri.chinatax.gov.cn/”

ASM驱动安装与ASM盘建立_asm1166驱动-程序员宅基地

文章浏览阅读3.7k次。ASM驱动安装与ASM盘建立(一)(转自 求道的路上http://space.itpub.net/17203031/viewspace-692538)上一篇 / 下一篇 2011-04-14 20:53:33 / 个人分类:ASM查看( 207 ) / 评论( 3 ) / 评分( 3 / 0 ) 前段时间安装虚拟Linux上的ASM实例,中间反复了几次,不过_asm1166驱动

【Python】(较简单)使用scipy.io.loadmat读取.mat文件中的数据部分-程序员宅基地

文章浏览阅读4.1w次,点赞34次,收藏127次。Python使用Scipy库中的io.loadmat读取.mat文件,并获取数据部分读取方法很简单,只需要使用scipy.io库即可,Python代码入下:import scipy.io as sioyFile = 'y2.mat' #相对路径datay=sio.loadmat(yFile)print datay此时输出的datay是一个字典格式的输出,如下:{‘y’:..._io.loadmat

robotframework 入门 (一)安装、工具ride/pycharm、三种用例模式_pycharm ride-程序员宅基地

文章浏览阅读2.6k次。测试教程网(虫师)http://www.testclass.net/rf/(虫师)Robot Framework自动化测试 ---视频与教程免费分享  电子书下载 《robot framework 自动化测试》 上课视频分享《robot framework上课视频》 最新录制网易云课堂《robot framework自动化测试入门》 最..._pycharm ride

Unity接入高德定位sdk简单三步无需与安卓工程交互_高德地图 unity sdk-程序员宅基地

文章浏览阅读2.9k次,点赞3次,收藏24次。欢迎加入Unity业内qq交流群:956187480qq扫描二维码加群源码,原工程下载地址:https://download.csdn.net/download/qq_37310110/10729281参考地址:https://blog.csdn.net/qq_37310110/article/details/83145193一:高德定位有效key的获取参考官方文档地址:获..._高德地图 unity sdk

groupby单字段分组_lambdaquery groupby-程序员宅基地

文章浏览阅读84次。人生不缺不堪回首的过去,也不缺自欺欺人的幻想,脚踏实地的做自己,做自己喜欢的自己。生活不会辜负你,辜负你的只有人心。_lambdaquery groupby

随便推点

Activiti7.0实战学习(七):流程定义信息之删除_activiti删除model表还要删除什么表-程序员宅基地

文章浏览阅读2.8k次。背景数据库中要有必要的数据信息。比如流程定义表,流程定义的部署,流程实例的启动。根据ID删除,根据的是act_ru_deployment表的id进行删除的。这个删除操作影响了哪些表中的数据记录呢?流程定义信息的删除,操作的是act_ru_deployment表。是因为我们部署流程定义的信息的时候,其实就是把bpmn中的数据写到数据库中而已。因此,它删除的时候,没有找act_ru_proc..._activiti删除model表还要删除什么表

Centos磁盘空间转移重新分配_centos重新分配磁盘空间-程序员宅基地

文章浏览阅读2.1k次,点赞4次,收藏19次。重新分配centos磁盘空间,将其中一个挂载点的空间分配给另一个挂载点_centos重新分配磁盘空间

POJ 3683 Priest John's Busiest Day (2 - SAT) - from lanshui_Yang-程序员宅基地

文章浏览阅读1k次。题目大意:一个城镇里只有一个牧师,在国庆节这一天,他要为 n 对夫妇的婚礼祷告,这 n 对夫妇婚礼的开始时间 s 、结束时间 e 和祷告时间 d 不尽相同,但是祷告只能在每个婚礼的开始或结束时进行(如一个婚礼的开始时间为s , 结束时间为 e , 那么祷告的时间就为 s ~ s + d 或 e - d ~ e)。问:这个牧师是否能为所有的婚礼祷告,如果能,则输出为每个婚礼祷告的开始时间和结束时间。

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误_java.io.filenotfoundexception: java.io.filenotfoun-程序员宅基地

文章浏览阅读6.6k次,点赞7次,收藏38次。解决java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. -see https://wiki.apache.org/hadoop/WindowsProblems_java.io.filenotfoundexception: java.io.filenotfoundexception: hadoop_home an

vue工程build后css样式失效问题_vue为什么引入了antd使用npm run build-lib后的库引入以后样式却失效了-程序员宅基地

文章浏览阅读3.5k次,点赞2次,收藏4次。项目开发完成后,执行 npm run build进行打包,将打包完成的dist文件部署在服务器。配置好域名解析,就可以实现工程上线。上线后,我们有时候会发现,它怎么和本地调试时长得不一样?长得不一样是样式问题,是打包的时候顺序先后问题,有一些样式没有生效,有一些样式被覆盖了。这时候可以考虑以下几种方法。1.main.js样式引入顺序问题有时候我们发现组件内的样式没有生效,可..._vue为什么引入了antd使用npm run build-lib后的库引入以后样式却失效了

文献速递:基于SAM的医学图像分割---在医学图像中进行任何分割-程序员宅基地

文章浏览阅读637次,点赞19次,收藏15次。这些模型通常被设计和训练用于特定的分割任务,当应用于新任务或不同类型的成像数据时,它们的性能可能会显著下降。我们通过汇总公开可用的医学图像分割数据集中的图像,策划了一个全面的数据集,这些数据集从互联网上的各种来源获得,包括癌症影像档案(TCIA)、Kaggle、Grand-Challenge、Scientific Data、CodaLab以及医学图像计算和计算机辅助干预学会(MICCAI)的分割挑战。然而,现有的方法通常是针对特定的模态或疾病类型定制的,缺乏在医学图像分割任务的多样性谱系中的普遍适用性。