1
0
Fork 0
mirror of https://gitlab.com/mfocko/CodeWars.git synced 2024-12-26 14:21:31 +01:00

4kyu: add „Hamming Numbers“

Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
Matej Focko 2022-08-08 19:21:21 +02:00
parent 70af121c76
commit 851b2cc0bb
Signed by: mfocko
GPG key ID: 7C47D46246790496
2 changed files with 27 additions and 0 deletions

View file

@ -0,0 +1,26 @@
import java.util.PriorityQueue;
public class Hamming {
private static void update(PriorityQueue<Long> q, long n) {
q.add(2*n);
q.add(3*n);
q.add(5*n);
}
public static long hamming(int n) {
PriorityQueue<Long> cache = new PriorityQueue<>();
update(cache, 1);
long smallest = 1;
for (int i = 1; i < n; i++) {
smallest = cache.poll();
while (cache.peek() == smallest) {
cache.poll();
}
update(cache, smallest);
}
return smallest;
}
}

View file

@ -56,6 +56,7 @@
### Java
- [Sum of Intervals](https://www.codewars.com/kata/52b7ed099cdc285c300001cd) - [solution](4kyu/sum_of_intervals)
- [Hamming Numbers](https://www.codewars.com/kata/526d84b98f428f14a60008da) - [solution](4kyu/hamming_numbers)
## 5 kyu