Paste Search Dynamic
Recent pastes
Solve
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. //import java.lang.math.*;
  7.  
  8. /* Name of the class has to be "Main" only if the class is public. */
  9. class Main
  10. {
  11.          public static int Solve(int[] arr)
  12.         {
  13.            
  14.             int sp = arr[0];
  15.  
  16.      
  17.             int m = 0;
  18.            
  19.          
  20.             int peak = 0;
  21.  
  22.             int i = 0;
  23.  
  24.             boolean goingUp = false;
  25.  
  26.            
  27.             int peakStart = 0;
  28.  
  29.             while (i < arr.length-1)
  30.             {
  31.              
  32.                 if ((!goingUp && sp >= arr[i+1]) || (goingUp && sp <= arr[i+1]))
  33.                 {
  34.                  
  35.                     if (goingUp && sp < arr[i + 1])
  36.                     {
  37.                         peakStart = i + 1;
  38.                     }
  39.                     sp = arr[i + 1];
  40.                     i++;
  41.                 }
  42.                
  43.                 else if (!goingUp)
  44.  
  45.                 {
  46.                     goingUp = true;
  47.                 }
  48.                
  49.                 else if (goingUp)
  50.                 {
  51.                     // distance between the current peak and previous peak.
  52.                     int distance = i - peak;
  53.                     // save max
  54.                     m = math.max(m, distance);
  55.  
  56.                     if (i != peakStart)
  57.                     {
  58.                         peak = peakStart;
  59.                     }
  60.                     else
  61.                     {
  62.                         peak = i;
  63.                     }
  64.  
  65.                     // reached peak so that means the next step is to walk down the slope.
  66.                     goingUp = false;
  67.                 }
  68.             }
  69.  
  70.             // final calculation as the last location in the histogram is the final peak.
  71.             int d = i - peak;
  72.             m = math.max(m, d);
  73.  
  74.             return (m+1);
  75.         }
  76.         public static void main (string[] args) throws java.lang.exception
  77.         {
  78.                 // your code goes here
  79.                 int ar[]={1,1};
  80.                 system.out.println(Solve(ar));
  81.                
  82.         }
  83. }
Parsed in 0.025 seconds