Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Schimbare adresa DNS IPv4 pe rout...

Recomandare Barebone

Monede JO 2024

Suprasolicitare sistem electric
 CIV auto import

Mutare in MOZAMBIC - pareri, expe...

Scoatere antifurt airtag de pe ha...

Magnet in loc de clește pent...
 Cumparat/Locuit in apartament si ...

Pot folosi sistemul PC pe post de...

Sokol cu distorsiuni de cross-over

Filtru apa potabila cu osmoza inv...
 Kanal D va difuza serialul “...

Upgrade xiaomi mi11

securitate - acum se dau drept - ...

Farmacia Dr Max - Pareri / Sugest...
 

Problema in bash

- - - - -
  • Please log in to reply
4 replies to this topic

#1
piramyd

piramyd

    Member

  • Grup: Members
  • Posts: 346
  • Înscris: 12.04.2007
Incerc sa rezolv ultima problema de la easy (Horse-racing Duals) de aici: https://www.codingam...m/games/puzzles
Nu am mai scris cod in bash niciodata, dar asta e solutia mea:

read N
for (( i=0; i<N; i++ )); do
    read Pi
    powers[i]=$Pi
done
sortedPowers=($(echo ${powers[@]} | tr " " "\n" | sort -n))
lastDistance=10000000;
tempDistance=0;
for (( i=1; i<N; ++i )); do
    #echo $((sortedPowers[i])) >&2
    tempDistance=$((sortedPowers[i]-sortedPowers[i-1]));
    if [[ $((tempDistance)) < $((lastDistance)) ]]; then
   lastDistance=$((tempDistance));
    fi
done
echo ${lastDistance}

Problema e ca la seturi de date mari, sta mult. Poate cineva sa imi spuna ce nu fac bine? De ce merge slow?
Sortarea se pare ca nu dureaza foarte mult, dar probabil ca fac operatii de evaluare sau comparatie in mod gresit.

Merci!

#2
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,236
  • Înscris: 24.02.2007

View Postpiramyd, on 26 iulie 2016 - 19:29, said:

De ce merge slow?

Fiindca bash nu-i gandit pentru asa ceva. E un limbaj pentru automatizat diverse activitati, pentru procesat seturi de date exista altele (de scripting sau compilabile).

#3
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
... și creezi enșpe mii de subshelluri inutile.

#4
piramyd

piramyd

    Member

  • Grup: Members
  • Posts: 346
  • Înscris: 12.04.2007

View PostOriginalCopy, on 27 iulie 2016 - 02:32, said:

... și creezi enșpe mii de subshelluri inutile.
Pai altfel nu stiu cum sa evaluez valorile alea ca sa se compare/asigneze...

#5
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Postpiramyd, on 29 iulie 2016 - 09:05, said:

Pai altfel nu stiu cum sa evaluez valorile alea ca sa se compare/asigneze...
http://tldp.org/LDP/...arison-ops.html

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate