Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static Tour combine(Tour a, Tour b) {
- int start = r.nextInt(a.getStopCount());
- int end = r.nextInt(a.getStopCount());
- if (start > end) {
- int temp = start;
- start = end;
- end = temp;
- }
- int slice_length = end - start + 1;
- Integer[] temp_a = Arrays.copyOfRange(a.getStops(), start, end);
- ArrayList<Integer> child_ids = new ArrayList<>();
- for (int id : temp_a) {
- child_ids.add(id);
- }
- if(slice_length != a.getStopCount()) {
- for (int id : b.getStops()) {
- if (!child_ids.contains(id)) {
- child_ids.add(id);
- }
- }
- }
- Tour tour = new Tour(child_ids.toArray(new Integer[child_ids.size()]));
- return tour;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement