Új hozzászólás Aktív témák
-
cousin333
addikt
Nekem ehhez már késő van, de első ránézésre 2 dolgon úszhatott el a kódod:
- indexelés: ha jól látom a példában az a[1] a legelső elemet jelenti, Pythonban viszont ez az a[0] Nem mondom, hogy emiatt rossz, csak erre oda kell figyelni
- Python ismeret hiánya: a pszeudo-kódban a ciklus egyértelműen 2-től m-ig megy, viszont a használtrange
függvény 2-től (m-1)-ig fut csak!Erre utal az is, hogy a te eredményed látszólag eggyel elcsúszott a helyes megoldáshoz képest. Talán inkább range(1, m) kellene, de persze ez nem feltétlenül oldja meg a problémádat.
[ Szerkesztve ]
"We spared no expense"
-
axioma
veterán
KPM, de regen volt!
Egyebkent jo kerdes, hogy mi a celod, a pszeudokod pontos atirata, vagy az elofeldolgozas megertese.
Az indexek javitasaval (range(1,m) es k+1 helyett k) jol fog mukodni az algo (persze az a-ban is elcsuszva lesznek az ertekek a 0-tol szamozas miatt! marmint a vart eredmenyt adja az a mint teljes tomb; de ami a pszeudokod-ban a[2], az nalad az a[1], ez fontos lesz ha a masik felet is implementalod)
P=list(pattern) tok folosleges.[ Szerkesztve ]
-
cousin333
addikt
"Sosem szerettem a for ciklust kombinálva a range függvénnyel"
Semmi gond, a Python sem szereti annyira. Inkább a listaelemeken való iterálást preferálja. Pl.:
lista = ['egy', 'ketto', 'harom']
for elem in lista:
print(elem)Ez szükség esetén megfejelhető az enumerate és a zip használatával, valamint a lista "szeletésével":
for elem in lista[1:]:
print(elem)Az persze megint egy más kérdés, hogy akkor hogyan lehetne "pythonikusan" leimplementálni a fenti példát...
[ Szerkesztve ]
"We spared no expense"
-
cousin333
addikt
Nálam a 3.6 van telepítve és jól működik.
Nálad mit ad vissza a decimal.getcontext() függvény? Nálam:
Out[6]: Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, ca
pitals=1, clamp=0, flags=[FloatOperation], traps=[InvalidOperation, DivisionByZe
ro, Overflow])"We spared no expense"
-
cousin333
addikt
Mert csak a Decimal-t importáltad a decimal modulból. Írd ezt és akkor lesz:
In [1]: import decimal
In [2]: decimal.Decimal(19/155)
Out[2]: Decimal('0.12258064516129031640279123394066118635237216949462890625')
In [3]: decimal.getcontext()
Out[3]: Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, ca
pitals=1, clamp=0, flags=[FloatOperation], traps=[InvalidOperation, DivisionByZe
ro, Overflow])[ Szerkesztve ]
"We spared no expense"
-
cousin333
addikt
Hogyan képzelted a Machine Learning-et? Kézzel lekódolod az alapoktól és futtatod? Mert léteznek modulok külön erre a célra. Nem tudom, hogy azok belsőleg milyen pontosságot használnak, vagy egyáltalán milyen adattípusokat, de csak jól működnek, ha erre lettek kitalálva...
[ Szerkesztve ]
"We spared no expense"
-
cousin333
addikt
A NumPy egy sokkal alapvetőbb funkcionalitást nyújtó és szélesebb körben használható modul. Az ML-re léteznek sokkal specifikusabb kiegészítők. A legismertebb talán a scikit-learn. Ezt találtam a Youtube-on: [link], ha esetleg érdekel.
[ Szerkesztve ]
"We spared no expense"
-
kovisoft
őstag
EQMontoya megoldása talán a legegyszerűbb, legelegánsabb és leggyorsabb, viszont nem tartja meg az eredeti elemek sorrendjét. Nem tudom, hogy ez szempont volt-e, mindenesetre ha igen, és list comprehensiont akarsz használni, akkor itt egy olyan verzió, ami megtartja az elemek sorrendjét:
newArr = []
[newArr.append(i) for i in arr if i not in newArr]
print(newArr) -
axioma
veterán
Nem tudhattad, de matkus, progmat diplomaval es 20ev fejlesztoi multtal a hatam mogott, benne ne'mi versenyprogramozas es annak szakirodalmaval, en ertem az ordo-t (kicsit, nagyot, matematikailag is nem csak szemlelteteskent). Meg a cimzest is nyilvan - azert amikor en vegeztem sokkal inkabb az alapmukodes reszleteit tanultuk.
Az nem volt vilagos, hogy milyen alapon jelent meg hogy dict-ben keresni O(1). Ha mar ott lett volna hogy majdnem, vagy adott meretben, meg se szolalok. Mar elozo valaszokban is volt ne'mi tulmagyarazas szamomra, de gondoltam nem szolok, ugyis lezarva, masnak meg igy is hasznos. De most szolok hogy feleslegesen - legalabbis nekem segiteskent - ne aldozz idot a tovabbi reszletezesre.[ Szerkesztve ]
-
axioma
veterán
No problem, a te idodet akartam megsporolni. Es nyugodtan kerdezz, hackerrank / hackerearth / codechef usereim nekem is vannak, bar cikkeket ritkan olvasok, inkabb a versenyek miatt. A legutobbi felvetelim resze is hackerrank teszt volt, amit a site stilusanak es mukodesenek ismereteben toredek ido alatt teljesitettem... szoval megeri.
-
axioma
veterán
[kieg: ajanlom Competitive Programming 3 (by Steven Halim) konyvet neked, neten megtalalhato elektronikusan, en csinaltattam belole konyvet de nem az a minoseg, nem erte meg... viszont tartalmilag erdekes, ilyenekkel is foglalkozik, ahol meg nagyon versenyspecifikus, azt at kell ugrani]
[ Szerkesztve ]
-
Siriusb
veterán
Pythonban menet közben is létrehozhatsz változókat, sőt még a típusát is váltogathatod, általában nem kell előre definiálni semmit. Persze vannak esetek, ahol szükséges, pl. egy cikluson belül append-del adsz értékeket egy listához.
Így hát az adott változó a ciklusodban utolsóként felvett értékkel létezik tovább az adott környezeten belül, hiszen amennyiben ez egy osztályon, függvényen belül történik, kívül már nem lesz elérhető.
Új hozzászólás Aktív témák
- Android alkalmazások - szoftver kibeszélő topik
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Ukrajnai háború
- Videó stream letöltése
- Gaming notebook topik
- Motorola Moto G24 Power - hol van az erő?
- Milyen videókártyát?
- Helldivers 2 (PC, PS5)
- Xbox Series X|S
- Vicces képek
- További aktív témák...