day 7, more compact

This commit is contained in:
sejo 2021-12-07 13:34:30 -06:00
parent fba63037ea
commit 699a789123
3 changed files with 38 additions and 1 deletions

View File

@ -17,7 +17,7 @@ END{
for(i=1;i<=maxpos;i++){
difs = 0
for(j=1;j<=NR;j++){
difs += abs(c[j]-c[i])
difs += abs(c[j]-i)
}
if(difs<min){
min = difs

19
07/07_2_new.awk Normal file
View File

@ -0,0 +1,19 @@
function abs(n){ return (n>=0) ? n : -n }
function sum(n){ return n*(n+1)/2 }
BEGIN{ RS="," }
{
c[NR] = $1
if(maxpos<$1) maxpos=$1
}
END{
min = 2147483647
for(i=1;i<=maxpos;i++){
difs = 0
for(j in c) difs += sum(abs(c[j]-i))
if(difs<min) min = difs
}
print min
}

18
07/07_new.awk Normal file
View File

@ -0,0 +1,18 @@
function abs(n){ return (n>=0) ? n : -n }
BEGIN{ RS="," }
{
c[NR] = $1
if(maxpos<$1) maxpos=$1
}
END{
min = 2147483647
for(i=1;i<=maxpos;i++){
difs = 0
for(j in c) difs += abs(c[j]-i)
if(difs<min) min = difs
}
print min
}