In this video, I solve LeetCode 162: Find Peak Element using the Binary Search approach in C++.
✅ Problem Explanation
✅ Optimized Approach
✅ Dry Run
✅ Time & Space Complexity
✅ Clean C++ Code
Approach:
We need to find an index where the element is greater than its neighbors.
Using binary search, we compare `nums[mid]` with `nums[mid + 1]`.
* If `nums[mid] less than nums[mid + 1]`, peak lies on the right side
* Otherwise, peak lies on the left side or at `mid`
Algorithm:
1. Handle edge cases
2. Initialize `low` and `high`
3. Find `mid`
4. Compare `nums[mid]` with `nums[mid + 1]`
5. Move towards the side where peak exists
6. Return the peak index
Time Complexity: O(log N)
Space Complexity: O(1)
🔗 GitHub:
https://github.com/atulXdev
🔗 LeetCode Profile:
https://leetcode.com/u/atul_singh_cg/
🔗 LinkedIn:
https://www.linkedin.com/in/atul-singh-987b0b394/
#leetcode #dsa #cpp #findpeakelement #binarysearch #arrays #codinginterview #striverdsa #leetcode162 #datastructures #algorithms