Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- Real Racing 3 - Freemium csoda
- Luck Dragon: Asszociációs játék. :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- Gurulunk, WAZE?!
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- laskr99: DFI és DFI Lanparty gyűjteményem
- Parci: Milyen mosógépet vegyek?
-
LOGOUT
Új hozzászólás Aktív témák
-
kovisoft
őstag
válasz
Chesterfield #12154 üzenetére
Amit írtál, az ugye N*N-es algoritmus, de meg lehet csinálni N*log(N) lépésben is:
(1) Lerendezed a listát úgy, hogy eltárolod az elemek eredeti indexeit is. Ez O(N*log(N)) lépés.
(2) Végigmész a rendezett listán a két végéről indulva, az első elemhez a végéről megkeresed azt, amivel az összegük már a keresett összeg alá esik, ekkor az alsóval lépkedsz felfelé, amíg az összegük túlnő a keresett összegen, aztán megint fentről lefelé, és így tovább. Ha bármikor megtaláltad a keresett összeget, akkor visszaadod az indexeket, különben null. Ez O(N) lépés.
Szerk: akkor ér véget az algoritmus, amikor a két végéről indulva összeérnek az elemek.
-
#57018880
törölt tag
válasz
Chesterfield #12154 üzenetére
Szerintem az alap probléma az volt, hogy a listát minden iterációban újra számoltatod a hossza meg nem változik.
-
válasz
Chesterfield #12154 üzenetére
i-t elég lenne csak count-1-ig elvinni, de mást nem látok benne.
Ja, közben megnézem Sspot linkjét, az tényleg jó:
Map<Integer, Integer> indexMap = new HashMap<>();
for (int i = 0; i < list.length; i++) {
int needed = sum - list[i];
if (indexMap.get(needed) != null) {
return new int[]{i, indexMap.get(needed)};
} -
#81999360
törölt tag
válasz
Chesterfield #12154 üzenetére
Szerk: Már látom, hogy ez nem pont az a feladat, de talán a stackoverflow jó hely elindulni.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Lecsap az S26 Ultra az Exynos 2600-ra
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- OTP Bank topic
- Anglia - élmények, tapasztalatok
- CASIO órák kedvelők topicja!
- Linux haladóknak
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- 2.1-es Bose sztereó hangrendszer a Redmi K90 Pro Maxban
- No Rest for the Wicked
- (nem csak) AMD FX / Ryzen tulajok OFF topikja
- További aktív témák...
- Bomba ár! Lenovo X1 Carbon G7: i5-8365U I 16GB I 512GB SSD I 14" FHD I HDMI I Cam I W11 I Gari!
- GYÖNYÖRŰ iPhone 12 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3395, 94% Akkumulátor
- LicencAruhaz.hu OLCSÓ, LEGÁLIS SZOFTVEREK AZONNAL - Windows - Office - Win Server - ÖRÖK GARANCIÁVAL
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB DDR5 RAM RTX 5070 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Asus X470 R9 5900X 32GB DDR4 1TB SSD RTX 3070 Ti 8GB Zalman Z1 PLUS A-Data 750W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő