diff --git a/day-5/two.go b/day-5/two.go index 1fc2ed6..9c5a52b 100644 --- a/day-5/two.go +++ b/day-5/two.go @@ -15,8 +15,9 @@ type bound struct { } // newBound returns a bound type +// it defines an open ended interval func newBound(lower, upper int) bound { - return bound{lower: lower, upper: upper} + return bound{lower: lower, upper: upper - 1} } // nextTransform recursively calculates each new set of seed ranges for each set of data in dataMap @@ -41,10 +42,10 @@ func nextTransform(i int, in []bound) []bound { // append unmatched portions of seed range back into queue if start > r.lower { - q.enqueue(newBound(r.lower, start-1)) + q.enqueue(newBound(r.lower, start)) } if r.upper > end { - q.enqueue(newBound(end, r.upper-1)) + q.enqueue(newBound(end, r.upper)) } return true } @@ -68,7 +69,7 @@ func two(lines []string) int { wg.Add(1) go func(i int) { defer wg.Done() - seedRanges = append(seedRanges, nextTransform(0, []bound{newBound(seeds[i], seeds[i]+seeds[i+1]-1)})...) + seedRanges = append(seedRanges, nextTransform(0, []bound{newBound(seeds[i], seeds[i]+seeds[i+1])})...) }(i) }