Welcome to the next Java Gym challenge!
You are given a large number of 3-dimensional points. Find the pair of points that has the smallest separation.
But here's the catch: you should compute your answer within 500 ms for 100.000 points, on a Keylane laptop.
Details:
- Startup time of the JVM is not counted towards the 500ms.
- Coordinates are triples of finite 64-bit doubles.
- The points are randomly distributed, for some distribution.
- If there is more than one closest pair, you can pick either one.
- You may assume that there are at least 3 points, and no null values.
- Euclidean distance is used (the normal, "Pythagoras" way)
- Clone this project. If you use IntelliJ, choose file > new > project from version control -> github. Enter the url you find at the top of the page.
- Implement the class src/main/java/javagym/Solution.java to solve the puzzle. Make sure the tests pass!
- If you want to commit your code and have a Github account, you can 'fork' this project and commit to that.