Hirdetés
- Derült égből villámcsapás: vége a Ford elektromos kalandjának
- Januártól igényelhető a kiskorúak tartalomvédelme a mobilszolgáltatóknál
- Korai iOS árulkodik arról, milyen eszközök várhatók az Apple-től a közeljövőben
- Névlegesen nyer üzemidőcsatát a Honor új szériája
- Decembertől kapható itthon a Baseus Inspire szériája
- Megbüntették, ezért feloszlatná az EU-t Elon Musk
- Xiaomi 15T Pro - a téma nincs lezárva
- Xiaomi 14T Pro - teljes a család?
- Poco F8 Ultra – forrónaci
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Mobil flották
- Huawei Watch GT 4 - kerek karék
- Hivatalos a OnePlus 13 startdátuma
- Huawei Watch Fit 3 - zöldalma
- Xiaomi 12 - az izmos 12
-
Mobilarena

Ú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!
- Telefon felvásárlás!! Samsung Galaxy Note 10+/Samsung Galaxy Note 20/Samsung Galaxy Note 20 Ultra
- Microsoft Surface Laptop 4 13.5" i7-1185G7 16GB 256GB 1 év garancia
- iPhone 13 Pro Max 128GB 100% (1 év Garancia)
- HIBÁTLAN iPhone 15 Plus 256GB Green-1 ÉV GARANCIA - Kártyafüggetlen, MS4264, 92% Akksi
- Új Lenovo 16 Ideapad Slim3 WUXGA IPS Ryzen5 7430U 4.3Ghz 16GB 512GB Radeon RX Vega7 Win11 Garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: ATW Internet Kft.
Város: Budapest



