docs: public void calculateOccupied() {
      int total = 0;
      for (int hypercube : hypercubes) {
        if (hypercube > 0) {
          total++;
        }
      }
  
      occupied = new int[total];
      int base = 0;
      for (int i = 0; i < hypercubes.length; i++) {
        if (hypercubes[i] > 0) {
          occupied[base] = i;
          base++;
        }
      }
    }