k-NN classifies a point by majority vote among the closest training points. There's no training step, just distance calculations.
Implement knn_predict(X_train, y_train, X_test, k) returning a NumPy array with one predicted label per test point.
Rules
Example
X = [[0, 0], [1, 0], [0, 1], [5, 5], [6, 5], [5, 6]]
y = [0, 0, 0, 1, 1, 1]
knn_predict(X, y, [[0.2, 0.1], [5.5, 5.5]], k=3) # array([0, 1])