Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.62 KB | None | 0 0
  1. public static ArrayList<Integer> getSortedEndPoints(ArrayList<Interval>leftSortedIntervals, ArrayList<Interval> rightSortedIntervals) {
  2. int left;
  3. int size = leftSortedIntervals.size();
  4. Interval interval;
  5. ArrayList <Integer> sortedEndPoints = new ArrayList<Integer>();
  6. for (int i = 0; i < size; i++){
  7. interval = leftSortedIntervals.get(i);
  8. left = interval.leftEndPoint;
  9. //System.out.println("Left Endpoint at " + i + "is : " + left);
  10. if (sortedEndPoints.size() == 0){
  11. //System.out.println("Entered size 0");
  12. sortedEndPoints.add(left);
  13. } else if (searchForDuplicate(sortedEndPoints, left) == false){
  14. //System.out.println("Search For Duplicates is False");
  15. sortedEndPoints.add(left);
  16. }
  17. }
  18. System.out.println("Sorted End Points after left search : " + sortedEndPoints);
  19.  
  20. int right;
  21. size = rightSortedIntervals.size();
  22. for (int i = 0; i < size; i++){
  23. interval = rightSortedIntervals.get(i);
  24. right = interval.rightEndPoint;
  25. if (sortedEndPoints.size() == 0){
  26. sortedEndPoints.add(right);
  27. } else if (searchForDuplicate(sortedEndPoints, right) == false){
  28. System.out.println("Search For Duplicates is False");
  29. size = sortedEndPoints.size()-1;
  30. System.out.println("Size= " + size);
  31. System.out.println("sortedEndPoints.get(size) " + sortedEndPoints.get(size));
  32. if (right > sortedEndPoints.get(size)){
  33. sortedEndPoints.add(right);
  34. } else {
  35. for (int t = 0; t < sortedEndPoints.size(); t++){
  36. if (right < sortedEndPoints.get(t)){
  37. sortedEndPoints.add(t, right);
  38. }
  39. }
  40. }
  41. }
  42. }
  43. System.out.println("Sorted End Points after right search : " + sortedEndPoints);
  44. return sortedEndPoints;
  45. }
  46.  
  47.  
  48. private static boolean searchForDuplicate(ArrayList<Integer>sortedEndPoints, int left){
  49. for (int track = 0; track < sortedEndPoints.size(); track++){
  50. if (left == sortedEndPoints.get(track)){
  51. return true;
  52. }
  53. }
  54. return false;
  55. }
  56.  
  57. Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
  58. at java.util.Arrays.copyOf(Arrays.java:2760)
  59. at java.util.Arrays.copyOf(Arrays.java:2734)
  60. at java.util.ArrayList.ensureCapacity(ArrayList.java:167)
  61. at java.util.ArrayList.add(ArrayList.java:370)
  62. at structures.Sorter.getSortedEndPoints(Sorter.java:148)
  63. at structures.IntervalTree.<init>(IntervalTree.java:39)
  64. at apps.IntervalTreeDriver.main(IntervalTreeDriver.java:19)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement