Skip to content

Commit 3cea372

Browse files
committed
fix labels normalize
1 parent d40ce07 commit 3cea372

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

s2/cell_index.go

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -52,18 +52,15 @@ type rangeNode struct {
5252
type labels []int32
5353

5454
func (l *labels) Normalize() {
55-
if len(*l) == 0 {
56-
return
55+
encountered := make(map[int32]struct{})
56+
57+
for i := range *l {
58+
encountered[(*l)[i]] = struct{}{}
5759
}
58-
labels := *l
59-
sort.Slice(labels, func(i, j int) bool { return labels[i] < labels[j] })
60-
61-
var lastIndex int
62-
for i := 0; i < len(*l); i++ {
63-
if labels[lastIndex] != labels[i] {
64-
lastIndex++
65-
labels[lastIndex] = labels[i]
66-
}
60+
61+
*l = (*l)[:0]
62+
for key := range encountered {
63+
*l = append(*l, key)
6764
}
6865
}
6966

0 commit comments

Comments
 (0)