peak finder(找峰点)
来源:互联网 发布:红家 蓝家 知乎 编辑:程序博客网 时间:2024/05/16 19:30
- 一维数组找峰点
- 二维数组
- 玩一下代码
- 一维数组找峰点
FM(find middle,自己给算法起个名字,不知道中文叫啥)
第二个位置是一个峰点,当且仅当
在大数据集上,试图找到一个峰点,返回他的索引,怎么找最好?
最直接的其实就是遍历一遍数组,比较之后找到一个最大的。但我们的要求是找到一个峰点,并没有要求一定是最高点。
问:这样的方法是最好的吗?
很明显不是最好的啦,还问。。。
很明显,从中间切一下,就省很多时间。
给定n 维数组A,算法如下:
- 选中数组的中间元素
An2 ,并且对比他左右的元素 - 如果他大于或等于他左右的元素,则这个点为峰点,返回
n2 , - 如果右边的元素大于中间的元素,则下一次的算法用在右边的数组,且不包含中间元素
- 如果左边的元素大于中间的元素,则下一次的算法用在左边的数组,且不包含中间元素
运行时间分析
我们把n维数组转换成
2.二维数组
二维数组的峰点可以定义为:给定矩阵M,可以找到一点
算法步骤:
给定nxm矩阵M,有:
1.在第
2. 选择在全局最大值的那一行i,如果
3. 如果
算法原理如图所示:
3.玩一下代码
class Solution(object): def peakFind(self,nums): return self.helpSearch(nums,0,len(nums)-1) def helpSearch(self,nums,start,end): if start == end : return start if end - start == 1: return [end,start][nums[start] > nums[end]] mid = int((start + end)/2) if nums[mid] < nums[mid-1]: return self.helpSearch(nums,start,mid-1) if nums[mid] < nums[mid + 1]: return self.helpSearch(nums , mid + 1,end) return midif __name__=="__main__": series = [0,0,0,2,0,0,0,-2,0,0,0,2,0,0,0,-2,0,0,0,76,-9,-444] solution = Solution() mid = solution.peakFind(series) print(mid)
阅读全文
0 0
- peak finder(找峰点)
- Density Peak改进(overlapping)
- Density Peak改进(Hierarchical)
- LeetCode 题解(137): Find Peak Element
- [leetcode-162]Find Peak Element(c)
- LeetCode(162) Find Peak Element
- leetcode_c++:Find Peak Element(162)
- LintCode Find Peak Element(查找峰值)
- 162. Find Peak Element(重要)
- Leetcode 162 - Find Peak Element(二分)
- Density Peak改进(PCA/KNN)
- mac的Finder连接远程服务器(阿里云服务器)
- finder.exe
- Finder快捷键
- PSNR(Peak Signalto Noise Ratio):峰值信噪比
- 峰均比,PAR( Peak-to-Average Ratio)
- 代码面试题:find a peak (二分法)
- LeetCode OJ 之 Find Peak Element (查找极大元素)
- phpexcel常用操作
- React function component
- 测试媛必学语言Python :1、基本概念
- 在线画图
- 【转】Linux 内核中的Device Mapper机制
- peak finder(找峰点)
- Hibernate 映射配置,主键自增长,复合主键
- springboot集成PageHelper
- Android Dialog全屏后遮挡物理返回键问题解决
- springboot整合mybatis
- 学习kail linux的几个不错的网站
- 线程并发五:线程安全之重入锁
- C#语言之“string格式的日期时间字符串转为DateTime类型”的方法
- Replication error Agent message code 20002 due to OS error 2.