From 06f3c4dd1e43a0371e552be98fb1edaa621b9d19 Mon Sep 17 00:00:00 2001 From: marina <138340846+bt3gl-cryptography@users.noreply.github.com> Date: Mon, 31 Jul 2023 15:57:30 -0700 Subject: [PATCH] Create find_peak_element.py --- searching/find_peak_element.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 searching/find_peak_element.py diff --git a/searching/find_peak_element.py b/searching/find_peak_element.py new file mode 100644 index 0000000..0b8e9ad --- /dev/null +++ b/searching/find_peak_element.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# author: bt3gl + +# A peak element is an element that is strictly greater than its neighbors. + +def peak_element(nums): + + left, right = 0, len(nums) - 1 + + while left < right: + + mid = (left + right) // 2 + + if nums[mid] > nums[mid + 1]: + right = mid + else: + left = mid + 1 + + return left +