博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法思维题
阅读量:6212 次
发布时间:2019-06-21

本文共 487 字,大约阅读时间需要 1 分钟。

解法一:时间复杂度为O(N*N) ,暴力所有分组情况。

解法二:时间复杂度为O(2*N)。

思路:对数组预处理,构造两个辅助数组——左区间数组,右区间数组。将 [0, i ] 的最大值存入左区间数组记为L[i]。 将 ( i , N ] 的最大值记为R[ i ],最后遍历数组。

解法三:时间复杂度O(N)。

思路:找出数组中最大的那个数max,用max减去数组两端较小的那个数所得的差值就是答案;如果max在端点就用max减去另一个端点的值就是答案。证明很简单,让最小数单独成为一个区间就是答案了。

 

 

题目大意:找出数组内任意一个局部最小值,也就是数学中的极小值点所在的下标。

解题思路:二分求解。先判断两端是否是极小值点,如果不是,二分中间部分。

 

 

 

解题思路:(二叉树,中序行遍法)先按规律折几次。我们发现第 n 次对折后的折痕数为2^n -1 个,并且我们会发现如下规律:

于是我们发现这是一个左节点始终为down,右节点始终为up的二叉树。结果按中序行遍法输出就行。

 

转载于:https://www.cnblogs.com/ISGuXing/p/8401661.html

你可能感兴趣的文章
IT帮2019年2月线下活动【定义工作,解读自我】之站桩练习
查看>>
Spring依赖注入之Resource和Component
查看>>
nginx的模块名字和指令名
查看>>
jsp的服务器响应,out.println 与response.setIntHeader的报错解决方案,附:导入jar包的方法...
查看>>
[置顶] 使用Joson的格式字符串在Socket中通讯时数据格式的转换
查看>>
使用ImessageFilter接口实现截获键盘或者鼠标的消息
查看>>
20155222 2016-2017-2 《Java程序设计》实验一
查看>>
时间戳 时间 相互转换
查看>>
BZOJ2208:[JSOI2010]连通数——题解
查看>>
asp.net代码中尖括号和百分号的含义 <转载>
查看>>
2-sat
查看>>
Jquery DataTable控制显示列,导出EXCEL
查看>>
实验证明:Objective-C++ 完美支持 ARC
查看>>
第八章 Libgdx输入处理(10)触摸屏
查看>>
【mysql】新方法修改数据库密码以及解决--ERROR 1045 (28000)的问题
查看>>
C# ListView控件使用简介
查看>>
当你的才华还不足以支撑起你的野心时,你就该静下心来学习
查看>>
包加载失败的解决办法
查看>>
100款编程在线工具|果断收藏!
查看>>
C语言简单实现链栈基本几个功能
查看>>