峰值

package main

import "fmt"

func main() {
	/*
	峰值元素是指其值大于左右相邻值的元素。

	输入: nums = [1,2,1,3,5,6,4]
	输出: 1 或 5
	解释: 你的函数可以返回索引 1,其峰值元素为 2;
	     或者返回索引 5, 其峰值元素为 6。
	*/

	nums := []int{1, 2, 1, 3, 5, 6, 4, 41, 23, 23, 21, 3, 1, 32, 1, 231, 321, 25631, 321, 32, 123}

	for i := 0; i < len(nums)-2; i++ {
		if nums[i+1] > nums[i] && nums[i+1] > nums[i+2] {
			fmt.Println("索引为:", i+1, "峰值为:", nums[i+1])
		}
	}
}

/*
索引为: 1 峰值为: 2
索引为: 5 峰值为: 6
索引为: 7 峰值为: 41
索引为: 13 峰值为: 32
索引为: 17 峰值为: 25631
*/

  

原文地址:https://www.cnblogs.com/yzg-14/p/12384966.html