JavaScript 波峰波谷算法实现
简介
在这篇文章中,我将教你如何实现 JavaScript 波峰波谷算法。这个算法可以让你找到一个数组中的所有波峰和波谷。首先,让我们来看一下整个流程的步骤。
流程步骤
| 步骤 | 描述 |
|---|---|
| 1 | 遍历数组,找出所有的波峰和波谷 |
| 2 | 返回波峰和波谷的索引数组 |
实现步骤
步骤1:遍历数组,找出所有的波峰和波谷
// 定义一个空数组用于存放波峰和波谷的索引
let result = [];
for (let i = 1; i < arr.length - 1; i++) {
if (arr[i] > arr[i - 1] && arr[i] > arr[i + 1]) {
// 当前元素大于前一个元素和后一个元素,说明是波峰
result.push(i);
}
if (arr[i] < arr[i - 1] && arr[i] < arr[i + 1]) {
// 当前元素小于前一个元素和后一个元素,说明是波谷
result.push(i);
}
}
步骤2:返回波峰和波谷的索引数组
return result;
示例
让我们来看一个示例,假设我们有一个数组 [1, 3, 6, 4, 1, 2, 9, 5, 7],我们调用上面的波峰波谷算法函数,得到的结果将是 [2, 6, 1, 4, 7],分别代表数组中的波峰和波谷的索引。
总结
通过以上步骤,我们成功实现了 JavaScript 波峰波谷算法。希望这篇文章能帮助你理解这个算法的实现过程,并能够在实际项目中应用它。如果有任何问题,欢迎留言讨论。祝你编程顺利!
















