去重且排序
作者:
楚_kw | 来源:发表于
2020-07-04 18:03 被阅读0次func (a Values) Deduplicate() Values {
if len(a) <= 1 {
return a
}
// See if we're already sorted and deduped
var needSort bool
for i := 1; i < len(a); i++ {
if a[i-1].UnixNano() >= a[i].UnixNano() {
needSort = true
break
}
}
if !needSort {
return a
}
sort.Stable(a)
//双指针去重
var i int
for j := 1; j < len(a); j++ {
v := a[j]
if v.UnixNano() != a[i].UnixNano() {
i++
}
a[i] = v
}
return a[:i+1]
}
本文标题:去重且排序
本文链接:https://www.haomeiwen.com/subject/gtzuqktx.html
网友评论