phishman3579/java-algorithms-implementation

stepped on the bug on the very first try

alex-bloom opened this issue · 1 comments

in the below code the 1st query correctly returns [b, c, a] but the 2nd query does not return anything (i.e. returns null) while I assume it should return [b, c]

public static void main(String[] args) {

    java.util.List<IntervalTree.IntervalData<String>> intervals = new ArrayList<IntervalTree.IntervalData<String>>();
    intervals.add((new IntervalTree.IntervalData<String>(1, 5, "a")));
    intervals.add((new IntervalTree.IntervalData<String>(2, 6, "b")));
    intervals.add((new IntervalTree.IntervalData<String>(3, 7, "c")));

    IntervalTree<String> tree = new IntervalTree<String>(intervals);

    IntervalTree.IntervalData<String> query1 = tree.query(5);
    System.out.println(query1.getData());

    IntervalTree.IntervalData<String> query2 = tree.query(6);
    System.out.println(query2.getData());
}

Thanks @alex-bloom looks like I added a bug when I tried to optimize a for loop. Thanks for finding it and please report back any other bugs/suggestions"