std::vector<Interval> findIntervalsAtPoints(const vector<Interval>& intervals){
vector<Interval> points;
+ points.push_back(Interval(intervals.size(),intervals.size())); //Dummy interval to match point and index
for (size_t p = 1; p <= intervals.size(); ++p){
size_t f = 0;
size_t s = 0;
for (size_t p = 1; p < go.size(); ++p){
if (marked.find(p) != marked.end())
continue;
- Interval i = intervals[points[p-1].first];
+ Interval i = intervals[points[p].first];
while (marked.find(p) == marked.end()){
marked.insert(p);
- if (i == intervals[points[p-1].first])
- i = intervals[points[p-1].second];
+ if (i == intervals[points[p].first])
+ i = intervals[points[p].second];
else
- i = intervals[points[p-1].first];
+ i = intervals[points[p].first];
if (p == i.first)
p = i.second;