gpt4 book ai didi

算法:在一条线上找到峰值

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:44:32 26 4
gpt4 key购买 nike

给定 n 个整数,排列成一行,展示一种可以找到一个峰的高效算法。峰值是一个数字,它不小于它旁边的两个数字(或者它旁边的一个数字,如果它在行的末尾。)

最佳答案

O(log n) 算法存在。我们使用分而治之。

find_peak(lo,hi):
mid = (lo+hi)/2
if A[mid] >= A[mid-1], A[mid+1] return mid
if A[mid] < A[mid-1]
return find_peak(lo,mid-1) // a peak must exists in A[1..mid-1]
if A[mid] < A[mid+1]
return find_peak(mid+1,hi) // a peak must exists in A[mid+1..hi]

关于算法:在一条线上找到峰值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12867437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com