Don't like ads? PRO users don't see any ads ;-)
Guest

MaxSum of Array

By: avtomon on Apr 29th, 2012  |  syntax: PHP  |  size: 2.71 KB  |  hits: 20  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
This paste has a previous version, view the difference. Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. <?php
  2. class maxArray {
  3.     static function baypassArray($array) {
  4.         $n = sizeof($array);
  5.         $sum = 0;
  6.         for ($i=0; $i<$n; $i++) {
  7.             if ($array[$i]>=0) {
  8.                 if(sizeof($negar) == 2) {
  9.                     if ($negar[0] > $negar[1]) {
  10.                         $sum+=$array[$sumindex+1];
  11.                         $sum+=$array[$i];
  12.                     } else {
  13.                         $sum+=$array[$sumindex+2];
  14.                         $sum+=$array[$i];
  15.                     }
  16.                 } elseif(sizeof($negar) == 3) {
  17.                     if ($negar[0] + $negar[2] > $negar[1]) {
  18.                         $sum+=$array[$sumindex+1];
  19.                         $sum+=$array[$sumindex+3];
  20.                     } else {
  21.                         $sum+=$array[$sumindex+2];
  22.                     }
  23.                 } else $sum+=$array[$i];
  24.                 $sumindex = $i;
  25.                 unset($negar);
  26.             } else {
  27.                 $negar[] = $array[$i];
  28.                 if(sizeof($negar)>3) {
  29.                     $value = max($negar);
  30.                     $index = array_search($value, $negar);
  31.                     $negar2 = $negar;
  32.                     unset($negar[$index]);
  33.                     $value = max($negar);
  34.                     $index2 = array_search($value, $negar);
  35.                     if($index2>=$index) {
  36.                         $index2++;
  37.                     }
  38.                     if ($index=0 && $index2=1) {
  39.                         $new[] = $negar2[0]+$negar2[2];
  40.                         $new[] = $negar2[1]+$negar2[2];
  41.                         $new[] = $negar2[1]+$negar2[3];
  42.                         $result = max($new);
  43.                         $newindex = array_search($result, $new);
  44.                         if ($newindex = 0) {
  45.                             $sumindex+=1;
  46.                         } else $sumindex+=2;
  47.                     } elseif($index = 0 && $index2 = 3) {
  48.                         $sumindex+=1;
  49.                     } elseif (($index = 1 && $index2 = 2) || ($index = 1 && $index2 = 3)) {
  50.                         $sumindex+=2;
  51.                     } elseif($index = 2 && $index2 = 3) {
  52.                         $new[] = $negar2[0]+$negar2[2];
  53.                         $new[] = $negar2[1]+$negar2[2];
  54.                         $new[] = $negar2[1]+$negar2[3];
  55.                         $result = max($new);
  56.                         $newindex = array_search($result, $new);
  57.                         if ($newindex = 0) {
  58.                             $sumindex+=1;
  59.                         } else $sumindex+=2;
  60.                     }
  61.                 }
  62.                 $sum+=$array[$sumindex];
  63.                 unset($negar);
  64.             }
  65.         }
  66.     }
  67. }
  68.  
  69. ?>