2 回答

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以循環(huán)訪問數(shù)據(jù)并寫入地圖(如果地圖不是重復(fù)的)。并附加到重復(fù)切片(如果地圖中已存在)。示例代碼如下所示。
注意:如果您有多個(gè)具有相同值的重復(fù)項(xiàng),則此代碼將顯示所有多個(gè)重復(fù)項(xiàng)。如果您需要查看一次相同的重復(fù)值,則應(yīng)更改此值
package main
import (
"fmt"
)
func main() {
data := []int{1,2,4,5,6,4}
findDuplicates(data)
}
func findDuplicates(data []int) {
values := make(map[int]struct{})
var duplicates []int
for _, d := range data {
if _, ok := values[d]; ok {
duplicates = append(duplicates, d)
continue
}
values[d] = struct{}{}
}
fmt.Println(duplicates) // Output: [4]
}

TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊
您正在尋找地圖
用法示例:
func findDuplicate(data []int) {
uniq := map[int]bool{}
for _, i := range data {
if uniq[i] {
fmt.Printf("found duplicate %v", i)
}
uniq[i] = true
}
}
用法示例:
func findDuplicate(data []int) {
uniq := map[int]bool{}
for _, i := range data {
if uniq[i] {
fmt.Printf("found duplicate %v", i)
}
uniq[i] = true
}
}
- 2 回答
- 0 關(guān)注
- 125 瀏覽
添加回答
舉報(bào)