Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>As per other's peoples answers (below mine) some code (with O(log n) ):</p> <pre><code>// A divide and conquer solution to find a peak element element #include &lt;stdio.h&gt; // A binary search based function that returns index of a peak element int findPeakUtil(int arr[], int low, int high, int n) { // Fin index of middle element int mid = low + (high - low)/2; /* (low + high)/2 */ // Compare middle element with its neighbours (if neighbours exist) if ((mid == 0 || arr[mid-1] &lt;= arr[mid]) &amp;&amp; (mid == n-1 || arr[mid+1] &lt;= arr[mid])) return mid; // If middle element is not peak and its left neighbor is greater than it // then left half must have a peak element else if (mid &gt; 0 &amp;&amp; arr[mid-1] &gt; arr[mid]) return findPeakUtil(arr, low, (mid -1), n); // If middle element is not peak and its right neighbor is greater than it // then right half must have a peak element else return findPeakUtil(arr, (mid + 1), high, n); } // A wrapper over recursive function findPeakUtil() int findPeak(int arr[], int n) { return findPeakUtil(arr, 0, n-1, n); } /* Driver program to check above functions */ int main() { int arr[] = {1, 3, 20, 4, 1, 0}; int n = sizeof(arr)/sizeof(arr[0]); printf("Index of a peak point is %d", findPeak(arr, n)); return 0; } </code></pre> <p>Used this for MIT 6.006 OCW course may be check that out as well </p> <p><a href="http://courses.csail.mit.edu/6.006/spring11/rec/rec02.pdf" rel="nofollow">http://courses.csail.mit.edu/6.006/spring11/rec/rec02.pdf</a></p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload