Find Peak Element - Array - Medium - LeetCode
💻 coding

Find Peak Element - Array - Medium - LeetCode

1 min read 185 words
1 min read
ShareWhatsAppPost on X
  • 1A peak element is greater than its neighbors and can be found in an input array where adjacent elements are not equal.
  • 2The function should return the index of any peak element, with examples showing valid outputs for given input arrays.
  • 3An efficient solution should achieve logarithmic time complexity, utilizing a binary search approach to find the peak.

AI-generated summary · May not capture all nuances

Key Insight
AskGif

"A peak element is greater than its neighbors and can be found in an input array where adjacent elements are not equal."

Find Peak Element - Array - Medium - LeetCode

A peak element is an element that is greater than its neighbors.

Given an input array nums, where nums[i] ≠ nums[i+1], find a peak element and return its index.

The array may contain multiple peaks, in that case return the index to any one of the peaks is fine.

You may imagine that nums[-1] = nums[n] = -∞.

Example 1:

Input: nums = [1,2,3,1] Output: 2 Explanation: 3 is a peak element and your function should return the index number 2. Example 2:

Input: nums = [1,2,1,3,5,6,4] Output: 1 or 5 Explanation: Your function can return either index number 1 where the peak element is 2, or index number 5 where the peak element is 6. Follow up: Your solution should be in logarithmic complexity.

public class Solution {
 public int FindPeakElement(int[] nums) {
 if(nums.Length == 1){
 return 0;
 }
 
 int start = 0;
 int end = nums.Length - 1;
 while(start < end){
 int mid = start + (end - start)/2;
 
 if( nums[mid]<nums[mid+1]){
 start = mid + 1;
 }
 else{
 end = mid;
 }
 }
 
 return start;
 }
}

Time Complexity: O(logn)

Space Complexity: O(1)

Enjoyed this article?

Share it with someone who'd find it useful.

ShareWhatsAppPost on X

sumitc91

Published on 18 November 2020 · 1 min read · 185 words

Part of AskGif Blog · coding

You might also like