例如,如果“abacdead”和“adcbadedga”是两个字符串,那么我们需要打印相同的位置和不同的位置。
same pos count: 2
diff pos count: 5
如果我们使用循环均值,一个(第一个字母)将检查所有字符(字符串2),因此循环将运行超过140次,这里我们如何实现O(n)。如果我们有任何数据结构,请建议我解决这个问题。
示例代码
func Test(a, b string) {
r := make([]map[string]interface{}, 0)
for i := 0; i < len(a); i++ {
for j := 0; j < len(b); j++ {
if string(a[i]) == string(b[j]) {
r = append(r, map[string]interface{}{
"position": i,
"char": string(a[i]),
})
}
}
}
}
慕森王
相关分类