Guest User

Untitled

a guest
Sep 23rd, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. private static boolean mapSeparator(int index, Rect rectangle) {
  2.  
  3. boolean isTrue = false;
  4. int vacationsSize = vacations.size();
  5. //добавление всех прямоугольников без пересечения
  6. if (index + 2 < vacationsSize) {
  7. if (!Vacation.getUniqueRect(rectangle).isEmpty()) { //если есть прямоугольники - сохраняем их, добавляем trueRect
  8. ArrayList<Rect> middleRects = new ArrayList<>(Vacation.getUniqueRect(rectangle));
  9. trueRects.add(middleRects.get(0));
  10. for (Rect middleRect : middleRects) {//закидываем каждый middleRect в следующий шаг
  11. trueRects.set(index + 1, middleRect);//если из следующей не вернулся прямоугольник - заменяем middleRect
  12. if (mapSeparator(index + 1, middleRect)) {
  13. return true;
  14.  
  15. }
  16. }
  17. if(!isTrue){
  18. trueRects.remove(index + 1);
  19. }
  20. } else {
  21. isTrue = false;//если нет нужных прямоугольников - возвращаем false
  22. }
  23. } else if (index + 1 < vacationsSize) {
  24. if (!Vacation.getUniqueRect(rectangle).isEmpty()) {
  25. trueRects.add(Vacation.getUniqueRect(rectangle).get(0));
  26. isTrue = true;
  27. }
  28. } else isTrue = true;//если дошли до конца - есть решение, возвращаем true
  29.  
  30. return isTrue;
  31.  
  32. }
Add Comment
Please, Sign In to add comment