diff --git a/trie/slimtrie.go b/trie/slimtrie.go index daa78111..db8b5b40 100644 --- a/trie/slimtrie.go +++ b/trie/slimtrie.go @@ -122,7 +122,7 @@ func newSlimTrie(e encode.Encoder, keys []string, values interface{}) (*SlimTrie leavesi := make([]int32, 0, n) leavesv := make([]interface{}, 0, n) - queue := make([]subset, 0, n) + queue := make([]subset, 0, n*2) queue = append(queue, subset{0, n, 0}) for i := 0; i < len(queue); i++ { @@ -177,7 +177,7 @@ func newSlimTrie(e encode.Encoder, keys []string, values interface{}) (*SlimTrie // Continue looking for the first key not starting with label var j int - for j = s; j < e; j++ { + for j = s + 1; j < e; j++ { word := bw4.Get(keys[j], prefI) if word != label { break