Hogyan lehet megoldani, hogy egy input tömbbe keressük, hogy van-e két ugyanolyan értékű elem?
A talán legkevésbé hatékonyabb, viszont valószínűleg a legkönnyebben érthetőbb módszer az, ha egy iterációval bejárod a tömb elemeit, s egy ebbe ágyazott másik iterációval, minden lépésben bejárod a a teljes tömböt, s egy szelekcióval vizsgálod, megegyezik - e a külső iteráció által indexelt elem értéke annak az elemnek az értékével, amit a belső iteráció aktuálisan indexel épp.
De lehet azért ezt hatékonyabban is, viszont a kérdésed nem ezt firtatta. Ha ennyi már elég, akkor használd ezt egészséggel! :)
#3
2 - es vagyok. Nyilván érdemes sorbarendezni, mégsem írtam, mert most - legalábbis a feltett kérdésből megítélve a kérdező pillanatnyi tudásszintjét - feltehetően az lesz a következő kérdése, hogy miként kell sorbarendezni.
Lehet persze erre azt is mondani, hogy az alkalmazott programnyelvnek bizonyára megvannak erre a beépített függvényei / metódusai, de szerintem az illető abban a tanulási fázisban van, amikor - már csak gyakorlásképpen is - neki magának kell megírni ezeket a kódokat. (Mármint kitalálni az alkalmazandó algoritmust, majd implementálni azt.)
"Nyilván érdemes sorbarendezni,"
Nem feltétlenül.
Ez most egy iskolai feladat, úgy oldja meg, ahogy tudja. Bár gondolom a megoldását értékelik is majd, de valós kornyezetben nem biztos, hogy jut erőforrás a plusz memória és cpu igényre.
A tomb elemszáma is befolyásolja a dolgot. Generikus algoritmust várnak el valószinűleg, ami optimális néhány tíz és milliós elemszám esetén is.
#7 hogy jött ki neked nlogn legrosszabb esetre a hashset megoldásnál?
Ha intekről van szó akkor sem annyi és ha tetszőleges inputról, akkor sem.
Lehet belekevert valami rendezést is és úgy jött ki neki az O(n*logn).
Még annyit érdemes lehet megemlíteni, hogy a space complexity a set-es megoldás esetében O(n), a másik kettőnél konstans (feltéve, hogy in-place algoritmussal rendezünk).
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!