Kezdőoldal » Számítástechnika » Programozás » Ezt a Java feladatot milyen...

Ezt a Java feladatot milyen adatstruktúrával kéne megvalósítanom?

Figyelt kérdés

Olyan queuet kell csinálnom amibe inteket lehet rakni és mindig a legtöbbször előforduló intet adja vissza de egyébként queueként viselkedik.

Pl belerakom az 1, 2, 3 számokat ilyen sorrendben, akkor először az 1-et fogja visszaadni aztán a 2-t aztán a 3-at. De ha belerakom az 1, 2, 2, 3 számokat akkor először egy 2-t fog visszaadni aztán 1, 2, 3-at.

Ha több int is ugyanannyiszor fordul elő benne akkor szintén queuenak megfelelően a legkorábban bekerültet adja vissza először.

Pl ha 1, 2, 3, 3, 4, 4, 5 a tartalma akkor 3, 4, 1, 2, 3, 4, 5 sorrendben adja vissza az inteket.


Sima queueval ezt nem tudom megcsinálni de nem tudom mit lenne érdemes használnom helyette.



2020. máj. 4. 16:29
1 2
 11/13 anonim ***** válasza:
100%
Ha optimalizálni akarsz, akkor a Dequeue metódus átgondolásával érdemes kezdeni szerintem, az elég nagy bottleneck így első ránézésre.
2020. máj. 5. 18:19
Hasznos számodra ez a válasz?
 12/13 anonim ***** válasza:

Javított verzió:

[link]

2020. máj. 5. 21:19
Hasznos számodra ez a válasz?
 13/13 anonim ***** válasza:
100%

Én valahogy így csinálnám:

[link]

Így az enqueue és dequeue is (amortized) O(1) művelet.

2020. máj. 6. 07:33
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!