Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static ArrayList<Integer> getSortedEndPoints(ArrayList<Interval>leftSortedIntervals, ArrayList<Interval> rightSortedIntervals) {
- int left;
- int size = leftSortedIntervals.size();
- Interval interval;
- ArrayList <Integer> sortedEndPoints = new ArrayList<Integer>();
- for (int i = 0; i < size; i++){
- interval = leftSortedIntervals.get(i);
- left = interval.leftEndPoint;
- //System.out.println("Left Endpoint at " + i + "is : " + left);
- if (sortedEndPoints.size() == 0){
- //System.out.println("Entered size 0");
- sortedEndPoints.add(left);
- } else if (searchForDuplicate(sortedEndPoints, left) == false){
- //System.out.println("Search For Duplicates is False");
- sortedEndPoints.add(left);
- }
- }
- System.out.println("Sorted End Points after left search : " + sortedEndPoints);
- int right;
- size = rightSortedIntervals.size();
- for (int i = 0; i < size; i++){
- interval = rightSortedIntervals.get(i);
- right = interval.rightEndPoint;
- if (sortedEndPoints.size() == 0){
- sortedEndPoints.add(right);
- } else if (searchForDuplicate(sortedEndPoints, right) == false){
- System.out.println("Search For Duplicates is False");
- size = sortedEndPoints.size()-1;
- System.out.println("Size= " + size);
- System.out.println("sortedEndPoints.get(size) " + sortedEndPoints.get(size));
- if (right > sortedEndPoints.get(size)){
- sortedEndPoints.add(right);
- } else {
- for (int t = 0; t < sortedEndPoints.size(); t++){
- if (right < sortedEndPoints.get(t)){
- sortedEndPoints.add(t, right);
- }
- }
- }
- }
- }
- System.out.println("Sorted End Points after right search : " + sortedEndPoints);
- return sortedEndPoints;
- }
- private static boolean searchForDuplicate(ArrayList<Integer>sortedEndPoints, int left){
- for (int track = 0; track < sortedEndPoints.size(); track++){
- if (left == sortedEndPoints.get(track)){
- return true;
- }
- }
- return false;
- }
- Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
- at java.util.Arrays.copyOf(Arrays.java:2760)
- at java.util.Arrays.copyOf(Arrays.java:2734)
- at java.util.ArrayList.ensureCapacity(ArrayList.java:167)
- at java.util.ArrayList.add(ArrayList.java:370)
- at structures.Sorter.getSortedEndPoints(Sorter.java:148)
- at structures.IntervalTree.<init>(IntervalTree.java:39)
- at apps.IntervalTreeDriver.main(IntervalTreeDriver.java:19)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement