Compare commits

..

3 Commits

View File

@@ -16,8 +16,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
@@ -42,10 +43,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
}
@@ -70,7 +71,7 @@ func two(lines []string) int {
go func(i int) {
defer wg.Done()
mu.Lock()
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])})...)
mu.Unlock()
}(i)
}