Strukturáltság
Üdv!
Pár napja jelentkeztem egy állásra, három fordulós volt a felvételi, az írásbeli teszten továbbjutottam a második fordulóba ami "házi feladat" volt elbuktam.
Megcsináltam a feladatokat, majd azt a választ kaptam, hogy nem elég strukturált amit beküldtem.
Kértem őket, hogy akkor legyen kedvesek és küldjenek egy jó megoldást ha van rá mód, de úgy látszik nem volt rá mód.
Szóval szeretnélek titeket megkérdezni, hogy Ti mit alakítanátok a kódokon, figyelembe véve azt, hogy a feladatok leírásában kiemelik a hatékonyságot.
A feladatok leírása a scriptek elején kommentezve olvasható.
Feladatok: Piramis, Egyensúlyi index
Nem felvágni, vagy háborogni akarok (azon már túl vagyok), hanem tényleg érdekelne a jó megoldás.
■ Pár napja jelentkeztem egy állásra, három fordulós volt a felvételi, az írásbeli teszten továbbjutottam a második fordulóba ami "házi feladat" volt elbuktam.
Megcsináltam a feladatokat, majd azt a választ kaptam, hogy nem elég strukturált amit beküldtem.
Kértem őket, hogy akkor legyen kedvesek és küldjenek egy jó megoldást ha van rá mód, de úgy látszik nem volt rá mód.
Szóval szeretnélek titeket megkérdezni, hogy Ti mit alakítanátok a kódokon, figyelembe véve azt, hogy a feladatok leírásában kiemelik a hatékonyságot.
A feladatok leírása a scriptek elején kommentezve olvasható.
Feladatok: Piramis, Egyensúlyi index
Nem felvágni, vagy háborogni akarok (azon már túl vagyok), hanem tényleg érdekelne a jó megoldás.
A másodikra néztem rá
- for helyett while - rontja az olvashatóságot
- ciklusban ciklus - rontja a hatékonyságot
- rövid változó nevek - rontják a karbantarthatóságot
Nem pöcsségből írom, de én is erősen elgondolkoznék rajta, hogy ha alkalmazlak és pár hónap/év után kilépsz, akkor mennyit fogok káromkodni ha utána nekem kellene karbantartani a kódodat.Az én próbálkozásom:
E2 : 3584 - 14.741687059402
E3 : 3584 - 0.011682987213135
A harmadik oszlopban a futásidők másodpercben. Szóval nem értem a második megoldásod mitől tűnt neked gyorsabbnak.
Szerkesztés: újragondoltam és hülyének találtattam:
Kösz!
Valóban szebb ez így (és gyorsabb is) erre megoldásra - hogy az egyik oldal részösszegét az egész összegből vonjam ki - nem gondoltam.
Az első megoldásra (a két while-os) céloztam azzal hogy gyorsabb. A második megoldás csak addig gyorsabb amíg hamar talál eredményt egyébként lassabb volt jóval, mint ahogy az látszik.
Megjegyzések
Igazad van
második feladat futási idő
a második kóddal az lehet a legnagyobb baj (amellet, hogy tényleg kevés benne a komment), hogy nem fut le O(n) alatt. Mindkét megoldásod O(n^2) futási idejű, tehát nem teljesíti a feladatot.
üdv,
bearfoot
Ezt a másodikat nagyon
Megnéztem az elsőt is.
Az alapgondolatot egyébként éppen ma írta meg dtamas Twitteren:
A személyes következtetésem: a feladatok nagyon ügyesek, de én nem látom mit lehetne ennyin strukturálni. A tippem, hogy a vizsgáztató valahonnan kimásolta őket, de érteni kevesebbet értett belőle mint te.
Hát igen, ilyen csalafintaság
Viszont a faktoriálissal nekem nem jön ki.
1*2 => 2
2*3 => 6, szerintem ennek 4nek kéne lennie.
6*4 => 24, ez meg 8 nálam.
Szerk: Nem szoltam hülye vagyok...
Viszont a faktoriálissal
2 1 : 12 11 = 2 = 2!
4 1 8 : 124 121 128 114 111 118 = 6 = 3!
2 2 3 4 : 1242 1242 1243 1244 1212 1212 1213 1214 1282 1282 1283 1284 1142 1142 1143 1144 1112 1112 1113 1114 1182 1182 1183 1184 = 24 = 4!
Szerk: akkor én sem szemléltettem. :)
128 szerintem nem lehet. A
Hű a nemjóját! Arról a
Én is próbáltam azzal, de a
Jobban átgondolva tényleg nem
Az újabb kódom ismeretében most már megértettem a tiédnek is a működését. (Azok a while-ok nekem nagyon bekavarnak.) Tulajdonképpen ugyanúgy működnek.
Viszont így már egyáltalán nem értem miféle strukturálást akartak. Lehet kellett volna beolvas_egy_sort($hanyadik_sort) függvény meg hasonló babalépések. Amivel személy szerint nem értek egyet.
Ui: Köszönet a fejtörőért, pont jókor jött. Mostanság csak dokumentációkat kellett bújjak, már hiányzott egy kis programozási feladat az agyamnak.
Én köszönöm a válaszokat!
utak száma
Bizonyítás: legyen 0 ha egy adott pontból balra lépek, legyen 1, ha jobbra. Egy n szintű piramisban n-1 hosszú utakat vannak. Tehát az (n-1) hosszú 0-1 számokból álló sorozatokat akarjuk megkapni, ezekből az összeset. Az ilyen sorozatok száma pedig pontosan 2^(n-1).
Ahh, akkor legalább ez jó