Hogyan tudom hozzáadni a map-hoz azokat a sorokat a mezőből, amelyeknél nem alakulna ki átfedés a időpontoknál?
Adott egy Map<Integer, Integer> map és adott egy int[x][2], amelynek [x][0] és az [x][1] rendezvények elejét és végét jelzik (ha egy rendezvény január elsején kezdődik és január 15-én ér véget, akkor [1][15]).
Például ha a mező: {1,1},{5,6},{2,2},{1,5}. Először üres a map-om, de bele teszem a mezőben lévő első sor adatait, azaz {1,1}-t. Ezután bele teszem az {5,6}-ot, nem lesz átfedés, utána a {2,2}-t, még mindig nem lesz átfedés, de utána a {1,5}-t már nem tehetem bele.De ezt hogy tudom megoldani Java-ban? Bocsánat, ha túlkomplikáltam.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Ha kevés számú esemény van, mint a példádban, akkor minden eseményt megvizsgálsz sorban, hogy van e átfedés a már kiválasztott eseményekkel.
Ha sok eseményed van, akkor csinálsz egy segédtömböt, amiben minden elem egy napot reprezentál, hogy abból tudd megnézni van-e átfedés.
Ha a feladatban van olyan peremfeltétel, hogy a lehető legtöbb napot kell lefedni a kiválasztott eseményekkel, akkor viszont bonyolultabb a helyzet.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!