Hallo,
ik ben een puzzeltje aan het oplossen, de restricties zijn als volgt:
- Je hebt een enum met 3 kleuren (rood, groen, blauw). Je hebt een kleur en wilt random een van de andere terugkrijgen.
- Je moet gebruik maken van het java Collections framework
- Het moet in O(1) tijd
Ik heb al uitgesloten dat het een (Array)List, LinkedList, Binary Tree of HashMap is. Het komt er eigenlijk dus op neer: wat is er nog meer? (behalve dan misschien P-Queue)
Een stukje code dat ik al heb zonder Collections:
Iemand een idee?
ik ben een puzzeltje aan het oplossen, de restricties zijn als volgt:
- Je hebt een enum met 3 kleuren (rood, groen, blauw). Je hebt een kleur en wilt random een van de andere terugkrijgen.
- Je moet gebruik maken van het java Collections framework
- Het moet in O(1) tijd
Ik heb al uitgesloten dat het een (Array)List, LinkedList, Binary Tree of HashMap is. Het komt er eigenlijk dus op neer: wat is er nog meer? (behalve dan misschien P-Queue)
Een stukje code dat ik al heb zonder Collections:
code:
1
2
3
4
5
6
7
8
| private static Color randomOther(Color excluded) {
Random rng = new Random();
ShapeColor[] values = values();
// Get the last value and replace the "excluded" one
values[excluded.ordinal()] = values[values.length-1];
// Return a value from the array, except the last entry (but since the last replaced the excluded this works)
return values[rgn.nextInt(values.length-1)];
} |
Iemand een idee?