TCH (statz) | #1, Főfasz (10443) |
379 | #2740 | ^ | Idézet | Wed, 21 Aug 2013 10:24:06 +02 |
84.3.*.* | *.catv.pool.telekom.hu |
XDDDDDDDD Hát ha Sonicozni akartok, akkor szóljatok, hogy vigyem a Segát is wazz. :P Én most tuti nem érek rá szombaton. :( |
TCH (statz) | #1, Főfasz (10443) |
594 | #2741 | ^ | Idézet | Thu, 22 Aug 2013 00:48:49 +02 |
84.3.*.* | *.catv.pool.telekom.hu |
saxus már megint hülye, nyilván, ha a vulva elbassza a halflájf winfosos és OSX-es verzióját, annak az a rohadt szar binguz az oka, nem az, hogy a vulva idióta (vagy szemétláda, ha direkt baszták el), ugyan dehogy csakis az a szar linuksz, éljen a pingvinuralom!!!!!111114415363727*:"'dsjg(sic!) Komolyan bazdmeg, ha egyszer még összefutok ezzel a vadbarommal, akkor annyi sem marad belőle ami megtöltene egy köpőcsészét. Aztán ha bárki kérdezi, akkor átment rajta egy kecske... :P |
kemi (statz) | #2, Főfasz (2970) |
871 | #2742 | ^ | Idézet | Thu, 22 Aug 2013 10:55:26 +02 |
77.234.*.* | *.pool.digikabel.hu |
Frissít a winfos, majd az újraindítás sokadik kilövésére közli, hogy zárjak be mindent, mert 30 másodperc múlva újraindul. Újraindulás után ez fogadott, elvolt vagy egy órán keresztül, a gép természetesen használhatatlan. Ha fontos dolgom lett volna, még be is perelhetném a mikrofost. A Google Street View az Üllői utat "Vörös Hadsereg útja"-ként tünteti fel, írtam a supportnak, hogy javítsák, mert már 20 éve nem úgy hívják, erre egy hónap múlva válaszolnak, hogy nem találtak javítandó hibát, a helyzet persze változatlan. Ez meg csak vicces. :D ERRORRROR LOADING NOT PRESENT |
TCH (statz) | #1, Főfasz (10443) |
896 | #2743 | ^ | Idézet | Thu, 22 Aug 2013 18:37:00 +02 |
84.3.*.* | *.catv.pool.telekom.hu |
Kalózvindózzal? :P De még ha eredetid is lenne, akkor sem perelhetnéd be, engedelmeddel idézlek téged: Szóval még akkor sem perelhetsz, ha holnap leformázzák az összes partíciódat.
... XDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD Mármint itt mo-n? Némi minimális különbség azért van. Épp a minap mondtam a fateromnak, hogy Régen a szocializmusban az élt jól, aki lopott. Most a kapitalizmusban ugyanez van, de itt meg van mondva, hogy ki lophat. XD |
kemi (statz) | #2, Főfasz (2970) |
381 | #2744 | ^ | Idézet | Thu, 22 Aug 2013 18:59:53 +02 |
62.165.*.* | *.pool.digikabel.hu |
Úgy értettem, hogy azóta se javították. Valszeg a gúgli ámerikai főhadiszállásán ránéztek egy régi térképre, aztán mondták, jólesszez. |
TCH (statz) | #1, Főfasz (10443) |
180 | #2745 | ^ | Idézet | Thu, 22 Aug 2013 22:39:52 +02 |
84.3.*.* | *.catv.pool.telekom.hu |
Értem én, kemi. Humorizáltam. :P |
Prometheus (statz) | #3, Főfasz (1824) |
114 | #2746 | ^ | Idézet | Fri, 23 Aug 2013 00:43:24 +02 |
80.99.*.* | *.catv.broadband.hu |
Szerintem ha akartok egy jó kis járványt, találkozhatunk hétvégén. Ha viszont nem, akkor inkább keddtől valamikor. |
Prometheus (statz) | #3, Főfasz (1824) |
64 | #2747 | ^ | Idézet | Fri, 23 Aug 2013 00:43:54 +02 |
80.99.*.* | *.catv.broadband.hu |
Ja, úgy értem, járványom van, és gyogyulni megyek Szegedre haza. |
TCH (statz) | #1, Főfasz (10443) |
43 | #2748 | ^ | Idézet | Fri, 23 Aug 2013 10:48:33 +02 |
84.3.*.* | *.catv.pool.telekom.hu |
Járvány? Mit kaptál el nyár kellős közepén? |
kemi (statz) | #2, Főfasz (2970) |
572 | #2749 | ^ | Idézet | Fri, 23 Aug 2013 22:02:58 +02 |
188.143.*.* | *.pool.digikabel.hu |
Kibasztak egy álláspályázatról, amikor a feladat tök jó volt amit megoldottam. Mondták, hogy ez nem jó, csomagolhatok. Ilyenkor mi a teendő? A feladat, hogy a függvény egy tömbből a második legnagyobb elemet adja vissza, ha pedig üres, vagy csak azonos elemekből áll, None értéket. Itt a kód amit beadtam. def max2nd(a): if len(a) <= 1: return None mx = a[0] lastmax = a[0] van = False for i in range(len(a)): if a[i] > mx: lastmax = mx mx = a[i] van = True if (not van): return None return lastmax |
TCH (statz) | #1, Főfasz (10443) |
4387 | #274a | ^ | Idézet | Sat, 24 Aug 2013 03:34:13 +02 |
84.3.*.* | *.catv.pool.telekom.hu |
Megkérdezni, hogy miért nem jó, mi nem jó, járuljanak már kissé hozzá a szakmai fejlődésedhez. Nem jó a kód kemi: azt kérték, hogy ha azonos elemeket tartalmaz, akkor adjon vissza None értéket, de te ezt hibásan vizsgáltad le, csak azt nézted, hogy az aktuálisan vizsgált elem nagyobb-e, mint a letárolt legnagyobb, na de mi van, ha kisebb? Ezt nem vizsgáltad le és ennek megfelelően, ha a tömb legelső eleme a legnagyobb, akkor a belső if soha nem fog lefutni és a van változó hamis marad. Röviden, ha a tömb első eleme a legnagyobb, akkor a kódod None-t fog visszaadni, akkor is, ha különböznek az elemek. De van benne egy másik hiba is: a második legnagyobb elem vizsgálata is ugyanez a hiba miatt nem jó, ugyanis ha a legelső elem a legnagyobb, akkor a végére a lastmax nem a második, hanem az első legnagyobb értéket fogja tartalmazni, hiszen az elején azt raktad bele és mint az előbb tisztáztuk az if nem fog lefutni, tehát az is marad benne. Ahhoz, hogy ne None-t adjon vissza és a második legnagyobb értéket is helyesen találja meg, ahhoz több dolog is kell: • Egyfelől, hogy a lastmax kiindulási értéke ne egyezzen meg mx-ével, hanem attól kisebb legyen. Viszont elkerülendő, hogy ne okozzon fennakadást, ha a kiindulási értéke nem létezik a tömbben, így a lehető legkisebb értéknek kell lennie - ami a Python lebegőpontos változóiban a mínusz végtelen, azaz a -inf - mert ennél kisebbet a tömbben nem találhat, csak egyenlőt vagy nagyobbat, tehát vagy létezik, vagy szükségszerűen cserélődik egy létezőre. • Másfelől az kell még, hogy a ciklus ne 0-ról, hanem 1-ről induljon és a legelső if ágban összehasonlítsa a tömb jelenlegi elemét az előzővel, ha nem egyformák, akkor lesz a van igaz. • Harmadfelől szükséges még a lastmax és az aktuális elem összehasonlítása a ciklus végén, ha az aktuális elem nagyobb, viszont a maximumnál meg kisebb, akkor cserélni kell! Azonkívül for ciklus felső határának felesleges körönkénti újraszámítása miatt is bele lehet kötni, ugyanis a len(a) minden körben le fog futni, az pedig felesleges idő és erőforráspazarlás - hacsak menet közben nem manipulálod a tömböt, de itt ilyen nincs. Ez ugyan nem működési hiba - a kód ettől még menne - ez csak tervezési hiba, de annak elég vaskos. Meg lehet még kötözködni azon is, hogy mivel a ciklusban a tömb aktuális elemére sokszor hivatkozol, ezért azt kiteheted egy normál változóba, hogy ne kelljen annyiszor indexelnie, ugyanis a scriptnyelvek a typejuggling miatt a tömböket elég nehézkesen kezelik, de ez már inkább szépséghiba. Nem nagy, de nem is kicsi. (Amúgy az előző elem indexelését is meg lehet spórolni, csak egyszer kell a ciklus előtt megcsinálni, de ez már tényleg marginális optimalizáció.) Meg, ha nagyon szarrágó az ember, akkor a végén abba is bele tud kötni, hogy van benne egy felesleges negálás, egyszerűen megcseréled a két ágat és megspóroltál egy felesleges műveletet, de ez már csak apró szépséghiba. Ez az algoritmus helyesen így nézne ki: def max2nd(a):
l = len(a)
if l <= 1:
return None
mx = a[0]
lastmax = -inf
van = False
f = a[0]
for i in range(1, l):
e = a[i]
van = van or (e != f) # ez gyorsabb, mint, ha azt irnam, hogy if e != f: van = true
f = e
if e > mx:
lastmax = mx
mx = e
if e > lastmax and e < mx:
lastmax = e
if (van):
return lastmax
return None Nem teszteltem le, de elméletileg így kéne, hogy legyen.De lehet, hogy ők az N-edik elem kereséséregondoltak, de ha a második legnagyobb elem kell, akkor amint a mellékelt forrásból is látszik, nincs szükség több ciklusra, vagy rekurzióra. Olyat is lehetett volna csinálni, hogy max()-al kirántjuk a legnagyobb elemet a tömbből, aztán a mi ciklusunk megkeresi a legnagyobb, ennél kisebb elemet, de hiába natív a max(), egy jókora tömbön már lassabban fog végigmenni a max() meg az egy if-es for, mint a max() nélküli két if-es for. Ballmer is wistavonul, hehe. |
TCH (statz) | #1, Főfasz (10443) |
882 | #274b | ^ | Idézet | Sat, 24 Aug 2013 10:10:54 +02 |
84.3.*.* | *.catv.pool.telekom.hu |
http://hup.hu/cikkek/20130824/vesztegetesi_vadak_nyoman_inditott_vizsgalatok_folynak_a_microsoft_ellen Fuck yeah. Engem csak az érdekel, hogy a felsorolt országok listájáról hova lett kicsiny hazánk? Csak nem akarja valaki bemagyarázni, hogy idehaza nem kenegetett a mikrofos mindenkit? Hogy is volt azzal a kicsengetett cca. 30 milliárd forinttal? (#1 #2) Hogy is volt azzal, hogy lesz itt még bazmeg alternatívákra átállás, aztán hirtelen mégis mikrofos only, mert a kormányt hirtelen nagyon lenyűgözi a mikrofos digitális otthon programja? Na, hol van Magyarország erről a listáról? |
kemi (statz) | #2, Főfasz (2970) |
991 | #274c | ^ | Idézet | Sat, 24 Aug 2013 10:22:53 +02 |
77.234.*.* | *.pool.digikabel.hu |
Köszi. Akkor mégis az én kódom szar. Amivel én teszteltem azzal működött, de papíron kellett írni, nem gépen. De így is bosszantó. Azt kioptimalizálja a fordító. Egyszer le kell futnia rekurzívan, az pedig kikötés volt, hogy csak egyszer lehet végigmenni a tömbön. A másik kikötés, hogy a max() függvényt nem lehet használni. szerk: Ez elkerülte a figyelmemet: Eredeti, MSDNAA-s. |
saxus (statz) | #9, Agyfasz (419) |
42 | #274d | ^ | Idézet | Sat, 24 Aug 2013 20:39:24 +02 |
84.3.*.* | *.catv.pool.telekom.hu |
http://www.youtube.com/watch?v=C5KlNEh2Yo4 |
kemi (statz) | #2, Főfasz (2970) |
877 | #274e | ^ | Idézet | Sat, 24 Aug 2013 20:40:49 +02 |
77.234.*.* | *.pool.digikabel.hu |
Sikerült előállnom egy önálló, működő megoldással, de a 10 perc, meg a papír nem lett volna elég, úgyhogy amúgy is bukott volna az állás. A változatosság kedvéért C++-ban, mert winfoson nincs Python.int max2nd(int* a, int len_a) {
if (len_a <= 1) return NULL;
int max = INT_MIN;
int lastmax = INT_MIN;
int count = 0;
for (int i = 0; i < len_a; i++) {
if (a[i] > max) {
lastmax = max;
max = a[i];
count++;
}
if (a[i] > lastmax and a[i] < max) lastmax = a[i];
}
if (count == 1 and lastmax == INT_MIN) return NULL; // vagyis ha a a belső if csak egyszer futott le, a lastmax értéke pedig nem változott
return lastmax;
} az and, or, xor, not a &&, ||, ^, ! helyett C++-ban valid. Én szeretem használni, mert úgy olvashatóbb a kód. |
TCH (statz) | #1, Főfasz (10443) |
3543 | #274f | ^ | Idézet | Sun, 25 Aug 2013 01:02:33 +02 |
84.3.*.* | *.catv.pool.telekom.hu |
Nem volt elég reprezentatív a mintád, nem fedett le minden lehetőséget. Ezért kell szisztematikusan az összes lehetőséget végignyálazni. De - mivel emberek vagyunk - ha pár lehetőséget nem teszteltünk, akkor ott jöhetnek elő a bugok.
Isten hozott a XXI. században, a III. évezred hajnalán, a jövőben! Elhiszem, de szerintem ne is bánd, az a cég amelyik papíron kéri a próbafeladatot, az teljesen komolytalan, akkor is, ha nagy cég. Hát amennyiben heurisztikus optimalizációval tolja - amit kétlek - és kiszúrja, hogy nem nyúlsz a tömbhöz a ciklusban, akkor lehet, de akkor meg a fordítási idő lesz sokkal több. Normál esetben nem optimalizálhatja ki. Ugyanis az, hogy for(int i = 0; i < strlen(s); ++i) { strcat(s, "0"); }végtelen ciklust kell, hogy eredményezzen, ugyanis a ciklus folytatásának feltétele minden körben ellenőrzésre kerül és ha abban az van, hogy addig menjen amíg nem lesz egyenlő az index a hosszal, akkor addig fog menni és ha te közben pakolod a karaktereket a szövegbe, akkor sose fog végetérni. Oké, véget ér amikor nem tud több memóriát allokálni. :P Ok, ezt nem írtad. De ami kódot adtam, az megfelelt ennek a követelménynek is. Ezt se írtad, de az én függvényem ennek is megfelelt. :) Oké, de én írtam, hogy akkor sem perelhetsz, ha eredeti a winfosod. Illetve perelhetsz, csak szart se érsz vele, mert a szerződésben benne van, hogy akármit tehetnek a gépeddel. Elég szomorú, hogy ennyien elmentek már a Babylon 5-ből. Némelyikük még az ötvenet sem töltötte be. :( RIP. (Thx a videót.) Én nem akarok beszólni de ez sem jó. :) A következő tömbre [0, INT_MIN] ez NULL-t fog visszaadni, mert a lastmax változására nem lehet alapozni, ha egyszer tényleg a minimum a második legnagyobb elem. Én ezt is óvatosan kezelném a helyedben, mert ez nem Pascal, ahol boolean és integer közti művelettől hanyattvágja magár a compiler, hanem C, ahol simán végrehajtja, márpedig az and, or, xor, not az mind kétértelmű, mert vonatkozhatnak int-re és bool-ra egyaránt. Hogy érthetőbb legyek, ezek a bool-algebrás műveletek: && || ^^ !, ezek pedig az integerre vonatkozóak: & | ^ ~, ezek az operátorok implicit módon hordozzák a művelet típusát, míg az and, or, xor, not nem, ami mint mondtam Pascalban oké, mert mismatch errorlesz ha kevered, de C-ben végrehajtja. Egy példa: #include <stdio.h> #include <stdbool.h> void main() { int x = 0xaaaaaaaa; bool y = true; if ((x & y) == (x && y)) { printf("YESSS!!!\n"); } else { printf("NOOO!!!\n"); } } root@Csabi:~# gcc szarkupac.c root@Csabi:~# a.out NOOO!!! root@Csabi:~#Látod? Baromira nem mindegy, hogy melyik. Most akkor itt az x and y mit jelentene? x && y vagy x & y? Szóval csak óvatosan ezzel. |