leetcode 1095. Find in Mountain Array (hard)
Tags: 100dayschallengeleet, c, javascript, leetcode
Published: 2023-11-06 17:23:44

---
title: leetcode 1095. Find in Mountain Array (hard)
published: true
date: 2023-10-12 08:10:41 UTC
tags: 100DaysChallengeLeet,C,JavaScript,leetcode
canonical_url: https://www.nileshblog.tech/leetcode-1095-find-in-mountain-array/
---

# **LeetCode 1095 - Find in Mountain Array**

In the world of coding challenges and competitive programming, finding the optimal solution to a problem can be as daunting as climbing a mountain. Fortunately, LeetCode provides a great platform to conquer these coding summits. In this blog post, we will tackle the intriguing problem titled "[LeetCode 1095 - Find in Mountain Array](https://www.nileshblog.tech/leetcode-1095-find-in-mountain-array/)." So, grab your gear, and let's embark on this coding adventure!

## **Introduction to the Main Topic**

[LeetCode 1095](https://www.nileshblog.tech/leetcode-1095-find-in-mountain-array/) is a challenging problem that requires us to find a target integer in a mountain array. A mountain array is an array that first increases, then decreases. To solve this problem, we will use a combination of binary search and recursion, making it a great exercise for those looking to strengthen their algorithm and data structure skills.

## **Prerequisites**

Before we start, make sure you have a basic understanding of Python and binary search algorithms. This will help you grasp the solution more easily. If you're not familiar with these concepts, a quick review might be in order.

## **The Main Concept**

Let's break down the main concept of solving this problem. We will use a two-step approach:

1. **Find the Peak:** First, we need to find the peak of the mountain. The peak is the element that is greater than its neighbors. This can be done using binary search.

2. **Search in Both Halves:** Once we find the peak, we perform two binary searches: one on the left side of the peak and one on the right side of the peak. This helps us find the target element efficiently.

## **Step-by-Step Example**

Let's walk through an example to illustrate the process:

Suppose we have the mountain array: `[1, 2, 3, 4, 1]`, and our target is `3`.

1. **Find the Peak:** Using binary search, we find that the peak is at index `3`, which is `4`.

2. **Search in Both Halves:**

   - Left Half: We perform a binary search on the left half `[1, 2, 3]` and find that the target `3` is at index `2`.
   - Right Half: We perform a binary search on the right half `[4, 1]` and find that the target `3` is at index `0`.

   In both halves, we have successfully located the target element.

## **Output**

After following the steps outlined above, we can efficiently find the target element in the mountain array. In our example, we found the target element `3` at indices `2` and `0`.

## **Conclusion**

LeetCode 1095 - Find in Mountain Array is a challenging problem that combines binary search and recursion to locate a target element in a mountain array. By understanding the two-step approach and practicing with different test cases, you can master this problem and enhance your problem-solving skills.

We hope this blog post has helped you get a grip on the LeetCode 1095 problem. Now it's your turn to take on the challenge and reach new coding heights. Happy coding!

For a detailed solution and additional resources, you can visit [this link](https://www.nileshblog.tech/leetcode-1095-find-in-mountain-array/).