假设我有一个学生城市列表,它的大小可能是100或1000,我想过滤掉所有重复的城市。
我想要一个通用解决方案,可用于从任何切片中删除所有重复的字符串。
我是Go语言的新手,所以我试图通过循环并使用另一个循环函数检查元素是否存在来做到这一点。
学生城市列表(数据):
studentsCities := []string{"Mumbai", "Delhi", "Ahmedabad", "Mumbai", "Bangalore", "Delhi", "Kolkata", "Pune"}
我创建的函数,它正在做这项工作:
func contains(s []string, e string) bool {
for _, a := range s {
if a == e {
return true
}
}
return false
}
func removeDuplicates(strList []string) []string {
list := []string{}
for _, item := range strList {
fmt.Println(item)
if contains(list, item) == false {
list = append(list, item)
}
}
return list
}
我的解决方案测试
func main() {
studentsCities := []string{"Mumbai", "Delhi", "Ahmedabad", "Mumbai", "Bangalore", "Delhi", "Kolkata", "Pune"}
uniqueStudentsCities := removeDuplicates(studentsCities)
fmt.Println(uniqueStudentsCities) // Expected output [Mumbai Delhi Ahmedabad Bangalore Kolkata Pune]
}
我认为我尝试的上述解决方案不是最佳解决方案。因此,我需要你们的帮助来建议从切片中删除重复项的最快方法?
我检查了StackOverflow,这个问题还没有被问到,所以我没有得到任何解决方案。
侃侃无极
偶然的你
明月笑刀无情
阿波罗的战车
相关分类