import java.util.Collections;
import java.util.List;
public class ComputeUnion {
/*
14.6
*/
public static List<Interval> unionOfIntervals(List<Interval> intervals) {
return Collections.emptyList();
}
public static class Interval implements Comparable<Interval> {
public Endpoint left = new Endpoint();
public Endpoint right = new Endpoint();
public Interval(int lv, boolean lb, int rv, boolean rb) {
left = new Endpoint(lb, lv);
right = new Endpoint(rb, rv);
}
public class Endpoint {
public boolean isClosed;
public int val;
public Endpoint(boolean isClosed, int val) {
this.isClosed = isClosed;
this.val = val;
}
public Endpoint() {
}
}
@Override
public int compareTo(Interval i) {
if (Integer.compare(left.val, i.left.val) != 0) {
return left.val - i.left.val;
}
if (left.isClosed && !i.left.isClosed) {
return -1;
}
if (!left.isClosed && i.left.isClosed) {
return 1;
}
return 0;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Interval interval = (Interval) o;
if (left != null ? !left.equals(interval.left) : interval.left != null) return false;
return right != null ? right.equals(interval.right) : interval.right == null;
}
@Override
public int hashCode() {
int result = left != null ? left.hashCode() : 0;
result = 31 * result + (right != null ? right.hashCode() : 0);
return result;
}
}
}