一个int 数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。_w618713的博客-程序员宅基地

技术标签: 算法  null  学习笔记  

题目:一个int 数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。

分析:

由于是要求数组种所有符合要求的数,所以肯定要遍历数组,时间至少为O(n);

比较直观的想法是依次遍历每个元素,找出左边最大的数,看是否比该元素小,再找出右边最小的数,看是否比该元素大,这样,时间复杂度就为O(n*n),但是题目中,给出了可以用一个额外数组的提示,因此,考虑利用空间来节省时间

在网上看了些思路,有O(n)实现的,但是跟自己的思路有些区别,现将思路描述如下</

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/w618713/article/details/7641496

智能推荐

从淘宝和网易的font-size思考移动端怎样使用rem?_liu__software的博客-程序员宅基地

最近翻了一下关于移动端的rem的使用,怎样最方便。在读到流云诸葛的一篇关于《从网易与淘宝的font-size思考前端设计稿与工作流》的文章后,来总结一下。然而根据我以往做移动端web项目的时候,设计稿一般是640或者750的,我一般会在head里面这样写:meta name="viewport" content="width=750, user-scalable=no, targe

MSI001 FM解调IQ信号测试_fm iq解调_花椒且喵酱的博客-程序员宅基地

VHF频段(64 MHz - 108 MHz)用于接收广播调频信号,并提供了一个扩展的输入范围以支持日本和东欧的调频接收。LNA的天线接口可以是平衡的,也可以是不平衡的。LNA有一个75Ω的输入电阻_fm iq解调

差分数组与前缀和数组_对差分数组求前缀和,得到修改后某个数字_SuipiX的博客-程序员宅基地

辅助数组参考从侧面来表示给定某一数组的变化,一般用来对数组进行区间修改的操作还是上面那个表里的栗子,我们需要进行以下操作:1、将区间【1,4】的数值全部加上32、将区间【3,5】的数值全部减去5很简单对吧,你可以进行枚举。但是如果给你的数据量是1e5,操作量1e5(10的5次方),限时1000ms你暴力枚举能莽的过去吗?T到你怀疑人生直接。这时我们就需要使用到差分数组了。d[i] = a[i] - a[i-1];注意 只能是区间元素同时增加或减少相同的数的情况才能用可以快速得到_对差分数组求前缀和,得到修改后某个数字

WebView支持打开外部App / WebView监听下载链接调起下载等_webview.setdownloadlistener监听预览地址_天才小汪汪的博客-程序员宅基地

--记录webview的简单使用--要使用Webview的全部功能需要一下设置:WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true); //可执行js webSettings.setD..._webview.setdownloadlistener监听预览地址

Apache网页优化(网页压缩和缓存实验)_apache测试网页是否有缓存-程序员宅基地

网页压缩和缓存实验Apache压缩与缓存概述部署Apache压缩步骤部署Apache缓存步骤Apache压缩与缓存概述Apache压缩实现网页压缩的功能模块有mod_gzip模块,mod_deflate模块,Apache 1.x,没有内建网页压缩技术,但可使用第三方mod_gzip模块执行压缩,Apache 2.x,在开发的时候,内建了mod_deflate这个模块,取代mod_gzip。Apache缓存通过mod_expire模块配置Apache,使网页在客户端浏览器缓存一段时间,以避免重复请求。启_apache测试网页是否有缓存

通俗理解滑模变结构(2)_sat饱和函数_超级菜狗的博客-程序员宅基地

一、仿真接上一节的内容,用Matlab simulink模块搭建模块,搭建模型如下:前面control是控制器部分,model是我们上一节的对象。给定x1初始值为3,x2,x3的初始值为0,仿真时间为10s,仿真结果如下图所示x1x2x3从图中可以看出,x1,x2,x3都会收敛到0,说明上节设计的镇定控制器成功,simulink模型我放在文章结尾,自取,用的是matlab2018a。此时,我们用示波器观察u,会发现图如下:这个u出现了一个黄色的带,这就是滑模变结构控制中的抖振,这是_sat饱和函数

随便推点

Linux基本命令-程序员宅基地

Linux目录bin 存放二进制可执行文件(ls,cat,mkdir等)boot 存放用于系统引导时使用的文件dev 用于存放设备文件etc 存放系统配置文件##############################home 存放存放所有用户文件的根目录########lib 存放跟文件系统中跟程序运行所需要的共享库和内核模块mnt 系统管理员安装临时文件的安装点opt...

matlab该语句不在任何函数内。_weixin_59038344的博客-程序员宅基地

function定义变量,用read matrix读取.csv文件 报错说“该语句不在任何函数内。 (它在终止函数 "SatellitePos" 定义的 END 之后。)”

linux下利用nohup后台部署jar_nohub 部署jar_qq_33383940的博客-程序员宅基地

Linux 运行jar包命令如下:方式一:java-jarXXX.jar特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出那如何让窗口不锁定?方式二java-jarXXX.jar&&代表在后台运行。特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。继续改进,如何让窗口关闭时,程序仍然运行?..._nohub 部署jar

这是我第一次写博客,是因为我想做一位合作者._weixin_34306446的博客-程序员宅基地

总是以没时间和没心情来搪塞,我一直没有开辟自己的博客园地,这是一件遗憾的事情,至少我现在这样认为,就象人们没有在2005年开始买中国的股票一样后悔.但是一切或许并不算太晚,如果想做一位合作者,我想任何时候都不算晚,包括现在.抛开所谓的忙写点东西,为了你,为了我,为了明天.转载于:https://www.cnblogs.com/groundhog/archive/2008/10/02/...

PowerUp攻击渗透实战-程序员宅基地

记录下PowerUp在实战渗透中的利用准备环境:kalilinux攻击机已获得靶机meterpreter(非管理)权限win7靶机 拥有powershell环境1)Invoke-Allchecks检查首先上传powerup脚本至目标服务器meterpreter > upload //var/www/html/PowerSploit...

推荐文章

热门文章

相关标签