У меня есть эта проблема, где я вычисляю минимальное значение, получаю точки, близкие к нему, и сохраняю их в хэш-карте как: [xmin: {p1, p2, p3}] xmin и соответствующие значения сохраняются в другом ArrayList.
Т-цикл должен проверить, существует ли сначала элемент в массиве, если да, он должен переместиться и вычислить следующий минимум ... и останавливается, когда не осталось точек.
Вот то, что я пробовал, но это не дает ожидаемого результата. он продолжает цикл с найденным первым xmin.
Интересно, есть ли лучший способ сделать это
List<Integer> dataPoints = new ArrayList<>(); //list of points for each xmin
HashMap<Integer, List<Integer>> clusters = new HashMap<>();
ArrayList<Integer> listt = new ArrayList<>();
List<Integer> l = new ArrayList<>(); //list of points for each xmin
while(E.size()!=dataPoints.size()) {
int xMin = getKey(E,MinX(E));
while (existsX(dataPoints, xMin)) {
System.out.println("Calculating min value :"+xMin);
System.out.println("Min x is :"+xMin);
//cheking id X exists in data points if no return close elements
for (int j = 0; j < S.getRow(xMin).length; j++) {
if (S.getEntry(xMin, j) > beta) {
//System.out.println(j);
dataPoints.add(xMin);
dataPoints.add(j);
l.add(j);
}
}
} ```