Dev-san

Untitled

Oct 24th, 2014
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.41 KB | None | 0 0
  1.     static int najdiNajdolgaCikCak(int a[]) {
  2.         int posleden = a[0];
  3.         int
  4.           dSekvenca = 1
  5.         , maxDolzSekvenca = -1
  6.         , pocetokMaxSekvenca = 0
  7.         , krajMaxSekvenca = 0;
  8.         for (int i = 1; i < a.length; i++)
  9.         {
  10.             int m = a[i];
  11.            
  12.             //System.out.printf("%d vs %d - %d\n", posleden, m, dSekvenca);
  13.             if (
  14.                        (posleden > 0&&m > 0)
  15.                     || (posleden < 0&&m < 0)
  16.                     || (posleden == 0 || m == 0)
  17.                     || (i == a.length-1)
  18.                     )
  19.             {
  20.                 if (dSekvenca > maxDolzSekvenca)
  21.                 {
  22.                     krajMaxSekvenca = i;
  23.                     pocetokMaxSekvenca = krajMaxSekvenca - dSekvenca;
  24.                     maxDolzSekvenca = krajMaxSekvenca-pocetokMaxSekvenca;
  25.                     if (i == a.length-1)
  26.                         maxDolzSekvenca += 1;
  27.                 }
  28.                 dSekvenca = 0;
  29.             }
  30.            
  31.            
  32.             posleden = m;
  33.             dSekvenca++;
  34.         }
  35.         if (pocetokMaxSekvenca < 0)
  36.             pocetokMaxSekvenca = 0;
  37.         if (maxDolzSekvenca < 0)
  38.         {
  39.             pocetokMaxSekvenca = 0;
  40.             maxDolzSekvenca = a.length;
  41.             krajMaxSekvenca = maxDolzSekvenca -1;
  42.         }
  43.         /*System.out.printf("Najdolga sekvenca: %d-%d (%d)\n", pocetokMaxSekvenca, krajMaxSekvenca, maxDolzSekvenca);
  44.        
  45.         System.out.println("--------------------");
  46.         for (int i = pocetokMaxSekvenca; i < pocetokMaxSekvenca + maxDolzSekvenca; i++)
  47.             System.out.printf("[%d]: %d\n", i, a[i]);
  48.         System.out.println("--------------------");
  49.         */return maxDolzSekvenca;
  50.     }
Advertisement
Add Comment
Please, Sign In to add comment