Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.85 KB | None | 0 0
  1.     public static Tour combine(Tour a, Tour b) {
  2.         int start = r.nextInt(a.getStopCount());
  3.         int end = r.nextInt(a.getStopCount());
  4.  
  5.         if (start > end) {
  6.             int temp = start;
  7.             start = end;
  8.             end = temp;
  9.         }
  10.  
  11.         int slice_length = end - start + 1;
  12.  
  13.         Integer[] temp_a = Arrays.copyOfRange(a.getStops(), start, end);
  14.         ArrayList<Integer> child_ids = new ArrayList<>();
  15.  
  16.         for (int id : temp_a) {
  17.             child_ids.add(id);
  18.         }
  19.  
  20.         if(slice_length != a.getStopCount()) {
  21.             for (int id : b.getStops()) {
  22.                 if (!child_ids.contains(id)) {
  23.                     child_ids.add(id);
  24.                 }
  25.             }
  26.         }
  27.  
  28.         Tour tour = new Tour(child_ids.toArray(new Integer[child_ids.size()]));
  29.  
  30.         return tour;
  31.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement