本文主要是介绍寻找峰值 二分查找法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
如果 mid 的值大于 mid+1 的值,说明左侧存在峰值元素,我们将右边界 high 更新为mid;
否则,右侧存在峰值元素,我们将左边界 low 更新为 mid+1。
最后,当左边界 low 与右边界 high 相等时,我们就找到了数组的峰值元素
def findPeakElement(nums):low, high = 0, len(nums) - 1while low < high:mid = (low+high) // 2if nums[mid] > nums[mid + 1]:#如果 mid 的值大于 mid+1 的值,则左侧存在峰值元素,我们将右边界 high 更新为 mid;high = midelse:low = mid + 1return low
if __name__ == '__main__':nums=[1,2,3,1]print(findPeakElement(nums))
这篇关于寻找峰值 二分查找法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!