有没有一种简单的方法可以找到一维数组中的局部最大值?假设我有一个数组:[0,1,10,我希望它找到10和4,但忽略8和6,因为它们紧挨着10。从数学上讲,如果它是一个函数,您可以找到导数等于零的位置。我不太确定如何在Javascript中执行此操作。 最佳答案 这将返回给定整数数组中所有峰值(局部最大值)的数组,同时处理平台:functionfindPeaks(arr){varpeak;returnarr.reduce(function(peaks,val,i){if(arr[i+1]>arr[i]){peak=arr[i+1];}
安装依赖pipinstallfindpeaks使用importnumpyasnpfromfindpeaksimportfindpeaksif__name__=='__main__':#初始化fp=findpeaks(method='peakdetect',#检测方式:一维数组【】二维数据【】whitelist=['valley'],#检测目标【峰peak,谷valley,峰谷['peak','valley']】lookahead=1,#前瞻性优化算法【数据量越少,此数字越小,比如50个数据,最好选择1或者2】interpolate=10,#插值,放大横坐标【数字越高,作图的边缘越不锋利】)#数