sfida... riconoscimento pattern in una dimensione

Gianmarco gmarco a gufi.org
Lun 18 Lug 2005 22:39:07 CEST


Riccardo Torrini wrote:


> PS: non ho ancora capito come fa a funzionare la soluzione che ci
>     mette meno di un secondo  :-(

In awk:

{
         i++;
         tot += $1
         if (tot - tot_min> tot_max - tot_cmin) {
                 tot_max = tot;
                 imax = i;
                 cmin = imin;
                 tot_cmin = tot_min;
         } else if (tot < tot_min) {
                 tot_min = tot;
                 imin = i;
         }
}

END {
         printf("from %d to %d min %d max %d tot %d\n",
                 cmin, imax, tot_cmin, tot_max, (1.0*tot_max)-tot_cmin)
}


proxy:/home/gmarco> /usr/bin/time awk -f calcola.awk < array.txt.100000
from 13335 to 58357 min -4597110 max 19322072 tot 23919182
         0.16 real         0.16 user         0.00 sys



Maggiori informazioni sulla lista devel