Stel dat je universum uit de getallen \(0, \dotsc, 60\) bestaat, en dat je voor een als bitvector voorgestelde verzameling \(V\) en een getal \(0 \leq i \leq 60\) wil weten of er een groter element dan \(i\) in de verzameling \(V\) zit, en zo ja, wat het kleinste element van \(V\) is dat groter is dan \(i\).
Gebruik bitoperaties zoals &
, |
, ^
, |
, &
, <<
, Long::numberOfTrailingZeros
, Long::bitCount
, … om dit zo efficiënt mogelijk te doen.
Let op: In Java is een int
maar 32 bit groot, dus gebruik long
waar nodig.
Implementeer hiervoor de interface NextElement
1 in een klasse genaamd MyNextElement
.
Gebruik eventueel de testklasse SimpleTest
2 om je oplossing lokaal te testen.